Angulaire de l'interface utilisateur-routeur onEnter fonction de pas de tir

Grâce à une grande aide de la communauté, j'ai un travail angulaire de la SPA qui utilise plusieurs états/points de vue à l'aide de la l'interface utilisateur du routeur de la bibliothèque. Cependant j'ai un comportement qui semble en contradiction avec la angular-ui-router de la documentation.

De leurs docs sur onEnter, je m'attends à ce qu'à chaque fois que j'utilise $state.go("home"), le onEnter() événement lié à cet état de configuration de l'objet serait le coup d'envoi, mais je ne le vois pas arriver. Exemple:

/* myApp module */
var myApp = angular.module('myApp', ['ui.router'])
.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('home', {
url: "/",
views: {
'top': {
url: "",
template: '<div>top! {{topmsg}}</div>',
controller: function ($scope) {
$scope.topmsg = "loaded top!";
console.log("top ctrl!");
},
onEnter: function () {
console.log("entered bottom state's onEnter function");
}
},
'middle': {
url: "",
template: '<div>middle! {{middlemsg}}</div>',
controller: function ($scope) {
$scope.middlemsg = "loaded middle!";
console.log("middle ctrl!");
},
onEnter: function () {
console.log("entered bottom state's onEnter function");
}
},
'bottom': {
url: "",
template: '<div>bottom! {{bottommsg}}</div>',
controller: function ($scope) {
$scope.bottommsg = "loaded bottom!";
console.log("bottom ctrl!");
},
onEnter: function () {
console.log("entered bottom state's onEnter function");
}
}
},
onEnter: function () {
console.log("entered home state");
}
});
}])
.controller('MyAppCtrl', function ($scope, $state/*, $stateParams*/) {
$scope.statename = $state.current.name;
$scope.testmsg = "app scope working!";
console.log("MyAppCtrl initialized!");
$state.go("home");
});

Comme vous pouvez le voir à partir de tous les onEnter() appels dans l'état de configuration de l'objet, tout mon espoir était que lorsque l'état de charge, je voudrais commencer à voir une liste de tous les états/les points de vue qu'ils ont frappé coup d'envoi de leurs messages sur la console. Toutefois, seule la première entered home state message est enregistré, à partir de la home de l'état onEnter événement. Pas un seul autre point de vue, la onEnter est d'être touché. Suis-je une erreur de lecture de la documentation?

Voici le tant attendu de violon à démontrer. Juste montrer la console de firebug/chrome devtools et vous verrez l'absence de sortie de la console.

Toute aide serait super. Je suis en utilisant angulaire 1.2 et ui-router 0.2.0. Merci à l'avance!

Il serait beaucoup plus facile à déboguer un exemple de travail (c'est à dire Plunkr).
Désolé d'avoir pris autant de temps, mais un violon est disponible à quiconque est intéressé. Merci!
Vous pourriez aussi envisager de travailler avec des $la portée des événements au lieu d'utiliser le routeur.

OriginalL'auteur tengen | 2013-11-14