Je ne suis pas sûr de savoir si ou de ne pas vous "doit" l'accès de l'enfant au parent, mais c'est possible. Je le sais parce que je l'ai fait moi-même. Voici mon scénario:
J'ai une fonction qui navigue dans mes pages par les modifications apportées à la chaîne dans une variable. Que cette variable est référencée dans les principaux index.html le fichier de ng-include. Ainsi, lorsque la chaîne est modifiée, un nouveau fichier html est chargé dans le ng-include. À l'intérieur de l'un de ces fichiers html, j'ai un autre ng-include. Pensez à ce que d'une petite fenêtre dans la première fenêtre. Chaque fois que je change le contenu de ces fenêtres, je les ai aussi modifier le contenu d'un panneau latéral. Ce panneau latéral est au niveau du parent. Mais, quand je vais dans la petite fenêtre à l'intérieur de l', le parent qui a le niveau le panneau latéral a des liens de navigation dans ce qui fait changer les choses au sein de la petite fenêtre. Depuis le panneau latéral est au niveau du parent et de la navigation de la fenêtre la plus petite est pris en charge dans son propre contrôleur au niveau enfant, quand je clique sur les liens sur le côté du panneau de il a à modifier le contrôleur enfant. Cela peut être une mauvaise programmation. Honnêtement, je ne sais pas. J'ai commencé avec angularjs il y a quelques mois et je suis toujours en apprentissage. Mais, pour le faire fonctionner pour mon scénario, j'ai fait une fonction dans la portée parent, qui est appelée lorsque l'enfant du champ d'application des charges:
function parent($scope, service) {
setCurrentChildController = function (childScope) {
this.$scope.childScope = childScope;
}
}
function child($scope) {
scope.$parent.setCurrentChildController($scope);
}
si, maintenant, les parents de la portée de la variable $scope.childScope est essentiellement l'enfant du contrôleur de portée. Il a accès à toutes les variables et fonctions au sein de l'enfant. Si c'est la mauvaise programmation et n'importe qui peut venir avec une solution alternative au problème avec mon scénario, ce serait super. Mais, ce n'travail si nécessaire.