Sous-page imbriquée de la page parent (ui-view a également une ui-view à l'intérieur)
La page enfant est écrite à l'aide d'un composant, elle ne peut donc pas hériter de la portée de la page parent
Maintenant, le parent transfère les données à l'enfant en lui transmettant des paramètres $state.go('parent.child', {data: $scope.data})
Mais si les données parent sont modifiées, la page enfant ne le saura pas et elle restera la même.
Existe-t-il un moyen de notifier la modification des données de la page parent à la page enfant, ou d'autres méthodes de transmission de paramètres ?
Portée parent
$broadcast
子页面可以收到,子页面scope$emit
La page parent peut être collectéeCela doit être considéré comme un problème de partage de données entre les composants de la page. Les solutions auxquelles je peux penser sont les suivantes :
En empruntant le mécanisme d'événement interne d'Angular, la page enfant s'abonne aux événements publiés par la page parent pour apporter quelques modifications, et vice versa.
Mettre en place un service commun pour stocker les données partagées et les injecter respectivement dans les composants des deux pages
Utilisez un conteneur d'hébergement d'état tiers, tel que le célèbre redux, et utilisez ng-redux pour l'adaptation. Les deux pages modifient l'état stocké dans le conteneur d'état en appelant
action