Maison  >  Questions et réponses  >  le corps du texte

javascript - Angularjs ui-router Comment informer les pages enfants des modifications de données dans la page parent

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 ?

曾经蜡笔没有小新曾经蜡笔没有小新2685 Il y a quelques jours1093

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-07-04 13:46:45

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

    répondre
    0
  • 世界只因有你

    世界只因有你2017-07-04 13:46:45

    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

    • .

    répondre
    0
  • Annulerrépondre