2016-11-01 19 views
0

最近、anglejsコントローラの動作に直面しました。チームから誤って誰かがこのようなDOM構造でした: - 以下AngularJSコントローラ

<div ng-controller="firstController"> 
<div ng-controller="secondController"> 
</div> 
</div> 


// This should have been structured like :- 

<div ng-controller="firstController"></div> 
<div ng-controller="secondController"></div> 

私はこれは本当にこれの結果であるかどうかを尋ねる必要があり、私の観察していますか?

  1. ブロードキャストイベントは2回発生します。 (イベントの送受信にrootscopeを使用していません)

  2. firstControllerからsecondControllerのモデルにアクセスできるとの印象がありました。それは起こっていない。

  3. secondControllerが '$ scope'にアクセスすると、私は実際に懐疑的ですか? (私は両方とも仮定します)

私の理解を訂正してください。あなたが述べたようにコードを変更しながら、本当に誰もが問題(perticular第一1)を対処するためのソリューションを持っている場合

おかげ

+0

コントローラを投稿できますか?また、どの角度の角度を使用していますか? – Romski

+0

コントローラコードが役立ちます。また、最初のケースでは、ng-controllerの代わりにクラスが使用されます – Maverick

+0

私の悪い..私は間違っていましたが、いくつかのコードを記述します。 – Robin

答えて

0

に感謝し、あなたがfirstControllerからsecondControllerのモデルをトリガすることができません。現在のところ、これら2つのコントローラーの間に親子関係は存在しないためです。

この場合、2番目のコントローラの$scopeは確実にローカルになります。これから第1コントローラの変数$scopeにアクセスすることはできません。これらの2つのコントローラー間で通信する必要がある場合は、ユーザーサービスを使用してサービス間でデータを転送する必要があります。

関連する問題