私は親スコープのディレクティブを持っていますが、子スコープのディレクティブもあります。テンプレートには、いくつかの親子スコープがあります。このような。複数の親子スコープイベントトリガの問題
ParentScope1
- ChildScope1
ParentScope2
- ChildScope2
私がParentの値を変更すると、それをChildにブロードキャストします。私は$rootScope.$broadcast
を使って親からブロードキャストしています。私は$rootScope.$on
を使って子供のこの変更を受け入れています。
私の問題は、次のとおりです。
さて、私はParentScope1の値を変更した場合、それはChildScope1にブロードキャストします。次に、ParentScope2の値を変更し、ChildScope2にブロードキャストしますが、ChildScope1にもブロードキャストします。
私が望む:ParentScope1の値を変更すると、ChildScope1にブロードキャストされます。 ParentScope2の値を変更すると、ChildScope2にブロードキャストされます。私はしばらくの間オンラインで検索しましたが、解決策が見つかりませんでした。たぶん私はそれを検索するための正しいキーワードを使用していませんでした。お知らせ下さい。ありがとうございました。
ディレクティブのあなたの定義では
なぜ '$ scope'ではなく' $ rootScope'を使うのですか? [この記事をチェックしてください](https://toddmotto.com/all-about-angulars-emit-broadcast-on-publish-subscribing/)anglejsイベントシステムの詳細については、こちらをご覧ください。 –
@StanislavKvitashこれは伝統的なコードなので、私は知らないし、それを書いた人はいなくなってしまった。 – user8565199
@StanislavKvitash私は$ scopeを使ってその問題を解決するとは思わない? – user8565199