私はインタビューでこの問題に直面しました。サービスを使用して2つのコントローラ間でデータを共有し、ルートスコープを使用する方法を知っています。サービスとルートのスコープを使用せずに2台のコントローラ間でデータを渡すための角度のある方法はありますか>サービスとrootscopeを使用せずに2つのコントローラ間でデータを共有する方法は?
ご提案ください。
私はインタビューでこの問題に直面しました。サービスを使用して2つのコントローラ間でデータを共有し、ルートスコープを使用する方法を知っています。サービスとルートのスコープを使用せずに2台のコントローラ間でデータを渡すための角度のある方法はありますか>サービスとrootscopeを使用せずに2つのコントローラ間でデータを共有する方法は?
ご提案ください。
AngularJsは、イベントの送信と読み取りを行うObserverパターンを使用します。
アプリケーションの一部が変更される場合がありますが、他の部分は更新する必要があります。 AngularJSでは、$ scopeオブジェクトが更新されると、別のコンポーネントに通知するためにイベントをトリガすることができます。オブザーバーのパターンには、オブジェクトが変更された場合、変更が発生したことを依存オブジェクトにブロードキャストします。要するに
:
$scope.$emit()
OR $scope.$broadcast()
自分の位置に応じて、そしてあなたの 'リーダー' とは何である
その後
$scope.$on()
あなたはまた、サービスを可能性が使用してのベストプラクティス状態オブジェクトリテラル$rootScope.sharedVar
を割り当てることによって$rootScope
を使用してください。 $broadcast
メソッドもあり、これはオブザーバパターンであり、pub/subのように機能します。
以上推奨方法は、あなたの$parent
スコープを活用し、あなたの要素をドリルダウンすることでしょうが(それはDOMツリーに位置しどこ応じて)
https://docs.angularjs.org/guide/component#intercomponent-コミュニケーション – estus