Ich implementiere einen dynamischen Workflow und wenn ich einen bestimmten Punkt erreiche, muss ich meinen Status neu laden, um den HTML Code wiederzugeben und den Controller neu zu starten, um fortzufahren.
Was ich gefunden habe ist, dass das zweite Mal, dass ich $state.reload()
anrufen funktioniert nicht. Ist das das gewünschte Verhalten? Was kann ich tun, um dieses Nachladen zu erzwingen?
if(advanceComplexAction()) {
console.log(self.$state); //This is always been printed in console
self.$state.reload();
}
else {
closeActionWizard();
}
Ich überprüfe meine Konsole und die console.log wird immer gedruckt, aber meine Aussage self.$state.reload()
läuft nur richtig das erste Mal, dass ich es nennen.
EDIT:
Ich bemerkte, dass meine URL ändern, wenn ich die erste reload tun und an die Eltern-URL ändert. Das muss das Problem sein, denn beim dritten Mal lädt es nur den parentState neu. Ich weiß nicht, wie dieses
Zum ersten Mal zu lösen, die richtig meine url funktioniert ist:
http://localhost:1234/app/parentstate/childstate
Nach reload verwenden und alles funktionierte es den Mutter Zustand bewegt.
Also, wenn ich wieder neu laden, wird nur die Elternansicht neu geladen. Ich definiere meine Routen wie folgt.
.config(function($stateProvider, modalStateProvider){
$stateProvider
.state('app.parentstate',
modalStateProvider.create({
animation: true,
name: 'app.parentsate',
url: 'apps/parentstate',
controllerAs: 'parentCtrl',
controller: 'ParentCtrl',
windowClass: 'semi-modal semi-modal--XXL',
templateUrl: function() {
return 'app/ui/apps/parent/parent.html';
},
resolve: {
//Some resolve function
}]
}
})
)
.state('app.parentstate.childstate',
modalStateProvider.create({
animation: true,
name: 'app.parentstate.childstate',
url: '/childstate',
controllerAs: 'childWizardCtrl',
controller: 'ChildWizardCtrl',
windowClass: 'semi-modal semi-modal--XL',
templateUrl: function(){
return 'app/ui/apps/child/child.html';
}
})
)
Danke
Wie immer - creating super einfach '' 'PLNKR'' Beispiel wird Ihre Frage wahrscheinlicher werden beantwortet ... –
Ich habe immer $ state.reload() verwendet. Ich interessiere mich für ** selbst ** (self. $ State) –
@DineshSundaraneedi Ich habe mehr Code hinzugefügt und bearbeitet, was ich entdeckt – acostela