Heim  >  Fragen und Antworten  >  Hauptteil

javascript - AngularJS UI-Router So benachrichtigen Sie untergeordnete Seiten über Datenänderungen auf der übergeordneten Seite

Verschachtelte Unterseite der übergeordneten Seite (UI-View enthält auch UI-View)

Die untergeordnete Seite wird mithilfe einer Komponente geschrieben und kann daher nicht den Umfang der übergeordneten Seite erben.

Jetzt überträgt der Elternteil durch Übergabe von Parametern Daten an das Kind $state.go('parent.child', {data: $scope.data})

Aber wenn die übergeordneten Daten geändert werden, weiß die untergeordnete Seite davon nichts und sie bleiben gleich.

Gibt es eine Möglichkeit, die Datenänderung der übergeordneten Seite der untergeordneten Seite mitzuteilen, oder gibt es andere Methoden zur Übergabe von Parametern?

曾经蜡笔没有小新曾经蜡笔没有小新2634 Tage vor1052

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

    父scope$broadcast子页面可以收到,子页面scope$emit父页面可以收

    Antwort
    0
  • 世界只因有你

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

    这种应该算页面组件间的数据共享问题吧,我能想到的解决方法有以下几种:

    • 借用 angular 内部的事件机制,子页面订阅父页面发布的事件来进行一些变动,反之也是。

    • 实现一个公用的service来储存共享数据,分别在两个页面的组件中注入

    • 使用第三方的状态托管容器,比如大名鼎鼎的redux,使用ng-redux做适配,两个页面通过调用action来改变状态容器储存的状态

    Antwort
    0
  • StornierenAntwort