この単純なフィドルをご覧ください: http://jsfiddle.net/tgbpy/11/
イベントを発行できません。共有サービスを作成せずに、この単純なことを行う必要があります。私は何を間違っていますか?
この単純なフィドルをご覧ください: http://jsfiddle.net/tgbpy/11/
イベントを発行できません。共有サービスを作成せずに、この単純なことを行う必要があります。私は何を間違っていますか?
controller1 と controller2 はネストされていません。それらはピアであり、rootScope の下にあります。
<div ng-controller="controller1">...</div>
<div ng-controller="controller2">...</div>
したがって、controller1 からイベントを発行すると、controller2 には到達しませんが、親にのみ到達します (この場合は rootScope に到達します)。
controller1 が controller2 内で宣言されている場合、コードは機能するはずです。
<div ng-controller="controller2">
..
<div ng-controller="controller1">...</div>
..
</div>
@manojがあなたに言ったことに追加するには
ここに機能するフィドルがあります
メッセージをパブリッシュする場合は、2 つのコントローラーがネストされていない限り、$rootScope.$broadcast を呼び出します。$rootScope.$broadcast を実行すると、任意のスコープが取得されます。