Affectez plusieurs contrôleurs dans $ stateProvider.state
Sans doute, c'est une question facile pour avancé angulaire des utilisateurs, mais je n'ai pas trouvé ce problème quelque part bien expliqué.
J'ai donc été la restructuration de mon code, quand j'ai réalisé, j'ai deux contrôleurs de vue, qui n'est pas un problème, lorsque le contrôleur 'ACtrl' est reliée à l' $stateProvider et controller 'BCtrl" est lié à la vue par ng-controller. Mais quand j'ai essayer d'attribuer les deux dans l' $stateProvider comme ceci:
$stateProvider.state('a.view', {
url: "/anurl",
views: {
'menuContent': {
templateUrl: "anUrlToMyTemplates",
controller: 'ACtrl', 'BCtrl'
}
}
});
ou que:
$stateProvider.state('a.view', {
url: "/anurl",
views: {
'menuContent': {
templateUrl: "anUrlToMyTemplates",
controller: 'ACtrl',
controller: 'BCtrl'
}
}
});
ça ne marchera pas.
Je sais que ce serait une solution pour rendre le contenu des contrôleurs jusqu'à l'un, mais controller 'ACtrl' est utilisé ailleurs, aussi, si je dois me répéter ailleurs. Comment puis-je résoudre ce...
source d'informationauteur burnaDLX
Vous devez vous connecter pour publier un commentaire.
Syntaxically, il ne peut pas travailler. Ce (syntaxically) pourraient travailler :
Mais AngularJS utilisation ZÉRO ou UN contrôleur par
DOMElement
.Vous pouvez affecter
CtrlA
pour votreA
vue :Et puis en votre
A
vue :Cela dit, pour la conception de code objet, la façon correcte est de fusionner les actions de vos deux contrôleurs dans un seul si ils ont de contrôler les mêmes éléments du modèle. S'ils contrôlent les différentes parties du modèle, utilisez un contrôleur pour une partie, ou d'un contrôleur pour l'ensemble de la vue, et un autre pour la partie spécifique :
Diviser votre mise en page et d'utiliser quelque chose comme: