7
votes

Un contrôleur peut-il hériter d'une portée d'un contrôleur parent lors de l'utilisation de l'UI-routeur

J'ai ce qui suit:

stApp.controller('AdminGridSubjectController', ['$scope', function ( $scope ) {
    var a = $scope.message;
}]);


0 commentaires

3 Réponses :


0
votes

Votre problème peut être que le nom doit refléter le parent de celui-ci:

var subject = {
    name: 'admin.subject',
    parent: admin,
    url: '/subject',
    ...


4 commentaires

Schwartz - merci Ben. J'ai essayé cela mais j'ai toujours le problème. Je me demande si c'est quelque chose à voir avec le fait que j'utilise des vues.


@Anne C'est le problème de la vue.


N'aurait pas besoin de cela si vous déclarez parent , non? De plus, pouvez-vous utiliser une chaîne au lieu d'une référence d'objet? Comme, {..., parent: 'admin', ...} ? Merci!


Lorsque vous utilisez la notation du point, il n'est pas nécessaire de spécifier le parent. Ceci est dans le plus récent routeur UI. Probablement différent à l'époque.



17
votes

Pour accéder à la portée code> d'un contrôleur parent dans le routeur d'interface utilisateur angulaire Utilisez:

$scope.$parent


2 commentaires

Cela ne fonctionne pas pour les vues. La vue enfant ne peut pas accéder aux propriétés de la portée non root du parent contenant la vue. Ils n'existent tout simplement pas et ne sont pas exposés correctement.


Je cherchais des heures! merci un tas



0
votes

Il existe plusieurs manières (et de contours de contournement) pour accéder aux données de la portée des parents ... mais l'héritage du contrôleur lui-même n'est pas possible: https://github.com/angular-ui/u-router/ wiki / stats imbriqués - & - Nettères-vues # What-Do-States-States-hériter-de-parents-états


0 commentaires