javascript - Angularjs ui-router Comment informer les pages enfants des modifications de données dans la page parent
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-04 13:44:45
0
2
1129

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 ?

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(2)
Ty80

Portée parent$broadcast子页面可以收到,子页面scope$emitLa page parent peut être collectée

世界只因有你

Cela 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

  • .
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal