0

Ich versuche, ein SPA zu entwerfen, die die Teile der Seite durch, um lädt,ui Router halten die Reihenfolge der Ansichten

var main = {name : 'main', 
    url : "", 
    abstract : true, 
    views :{ 
    'header' : {//main template}, 
    'content' : {//main template}, 
    'footer' :{//main template} 
}}; 

aber wenn ich machen einen anderen Zustand als „single_post“ wie

single_post = {name : 'single_post', 
    url : "/sp", 
    views : { 
    'content' : { 
    templateUrl : "some template" } 
    }  
}; 

$stateProvider.state(main); 
$stateProvider.state(single_post); 

lädt die Single_post Vorlage nach dem Laden der Haupt !! Was sollte ich tun, um die Reihenfolge der Ansichten auf der Seite beizubehalten?

XHR requests

+0

Können Sie mit Ihrer Frage klarer sein? –

+0

Ich versuche, verschiedene Zustände anzuzeigen, alle von ihnen haben fast die gleichen Ansichten, aber ich möchte die mittlere Ansicht (Inhalt) für jeden Zustand ändern. –

+0

Nichts davon ist sehr klar .... bitte nehmen Sie sich die Zeit, [ask] zu lesen. Dann [bearbeite Frage] (http://stackoverflow.com/posts/43428051/edit) mit einer richtig detaillierten Problembeschreibung – charlietfl

Antwort

0

Sie können von resolve machen, diese Ihrer Seite erst was geschrieben in resolve Lasten, zum Beispiel laden werden:

$stateProvider.state('users.profile', { 
    url: '/:id', 
    templateUrl: 'views/users.profile.html', 
    controller: 'UsersController', 
    resolve: { 
    user: function() { 
     //function code 
    }, 
    tasks: function() { 
     //function code 
    } 
    } 
}); 

Dabei wird die Seite nicht, bis die Last Benutzer- und Aufgabenfunktionen werden ausgeführt.

Eine andere Option ist die Verwendung des Ereignis-Listeners $stateChangeSuccess, um die Controller-Funktion nur aufzurufen, wenn der Status erfolgreich umgestellt wurde. Sie können hier eine Shell-Seite laden und füllen, wenn der Controller Daten zurückgibt.

Verwandte Themen