Ich möchte jemand Hilfe, wie Sie die Ansicht in einem Übergang ändern. Mein Problem ist, dass ich eine Ansicht dynamisch laden muss. So erstelle ich eine neue Ansicht (dies scheint zu funktionieren):
var viewname = 'view-'+Date.now();
var element = angular.element(document.querySelector('#view-container'));
var scope = element.scope();
var elementString = '<div id="'+viewname+'" ui-view="'+viewname+'" class="viewunique"></div>';
$compile(element.append(elementString))(scope);
Dies wird den Blick auf die $view
Variable hinzufügen und scheint zu funktionieren.
Meine Frage ist: Wie kann ich diese neue Ansicht in einer Statechange verwenden. Ich habe versucht, den $ Übergang $ mit $ zu() wie:.
$transitions.onStart({}, function($transition$) {
$transition$.$to().views = {
templateUrl : templateUrl
};
});
wo viewname
der Name der erzeugten Ansicht ist, und templateUrl
ist die richtige Vorlage. Die Vorlage wird ihren eigenen Controller und Zeug haben. Dies überschreibt die Ansicht für diesen Zustand, aber funktioniert nicht wirklich oder tut nichts.
Irgendwie möchte ich die Ansichten für den Zustand innerhalb des Übergangs in diesen Zustand ändern, so dass die dynamisch erstellte Ansicht verwendet wird. Ist das möglich? Weiß jemand, wie das gemacht werden kann?
Vielleicht könnte dies von Nutzen sein: https://stackoverflow.com/questions/11003916/angularjs-how-do-i-switch-views-from-a-controller-function. Es beschreibt, wie Ansichten im Controller geändert werden. – DijkeMark