javascript - AngularJS UI-Router So benachrichtigen Sie untergeordnete Seiten über Datenänderungen auf der übergeordneten Seite
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-04 13:44:45
0
2
1121

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?

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

Antworte allen(2)
Ty80

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

世界只因有你

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

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

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage