$scope.broadcast
と$scope.$on
を別のコントローラーに入れることはできますか?私は一度テキストを入力すると、データは検索の責任を持つコントローラーに送られます。私は$scope.broadcast
と$scope.$on
を使ってデータを転送することをお勧めします。ところで、私はインターンです...ありがとう。
答えて
はい、もちろんです! $ scopeを使用する$ emitは、$ scopeの上にあるイベントを発生させます。 $ scope。$ broadcastを使用すると$ scopeのイベントが発生します。 $ scope。$ onを使用すると、これらのイベントをリスンする方法です。
親スコープと子スコープをエミュレートする最も簡単な方法は、コントローラを使用することです。
<div ng-controller="ParentCtrl as parent" class="ng-scope">
{{ parent.data }}
<div ng-controller="SiblingOneCtrl as sib1" class="ng-scope">
{{ sib1.data }}
</div>
</div>
我々は$放送を使ってSiblingOneCtrlまでParentCtrlからイベントを発生できます:
app.controller('ParentCtrl',
function ParentCtrl ($scope) {
$scope.$broadcast('parent', 'Some data'); // going down!
});
app.controller('SiblingOneCtrl',
function SiblingOneCtrl ($scope) {
$scope.$on('parent', function (event, data) {
console.log(data); // 'Some data'
});
});
各コントローラには、角度がきちんと私たちのために、新たにスコープ要素にNG-スコープクラスを出力新しい$スコープを作成します
SiblingOneCtrlからParentCtrlまで上向きに通信したいと思ったら、あなたはそれを推測しました。$ emitを使うことができます。
app.controller('ParentCtrl',
function ParentCtrl ($scope) {
$scope.$on('child', function (event, data) {
console.log(data); // 'Some data'
});
});
app.controller('SiblingOneCtrl',
function SiblingOneCtrl ($scope) {
$scope.$emit('child', 'Some data'); // going up!
});
ありがとうございます。しかし、コントローラが同じファイルにない場合も可能ですか? –
はい、同じファイルではなくても可能です。 –
どのように?あなたが答えたら喜んでください。 –
- 1. angularJS $ broadcastと$ on
- 2. 複数のドロップ可能な異なる色でドラッグ可能
- 3. ruby on railsでコントローラーとアクションのリストを取得するには?
- 4. 異なるコントローラーでのGolangルーティング
- 5. PythonでXbox 360コントローラーを「うっすら」することは可能ですか?
- 6. "従来の"コントローラーとCastle-Windsorコントローラーが混在しています。これは可能ですか?
- 7. Ember - 他のコントローラー機能でコントローラー機能を使用する
- 8. 異なるSelectItemタイプのSelectOneMenuを作成することは可能ですか
- 9. 異なるスレッドの異なるイメージに対してknnMatchを実行することは可能ですか?
- 10. 同時に異なるノードスクリプトに異なるバージョンのノードを使用することは可能ですか
- 11. SimGridの異なるプロセスに異なるスタックサイズを宣言することは可能ですか
- 12. 異なるネイティブコンテキストを異なるスレッドで実行することは可能ですか?
- 13. angularJSの$ broadcastと$ stateProvider
- 14. 異なるサーバ上の異なるディレクトリにマウント可能
- 15. AWS - 異なる設定可能なAMI?
- 16. 可能なタイムゾーンモジュールが失敗する(異なるOSで異なる理由)
- 17. 電報:異なるグループ/チャンネルで異なる名前を付けることは可能ですか?
- 18. 異なる可能なプログラム出力?
- 19. Pythonで異なるモジュールを重ねることは可能ですか?
- 20. jqueryドラッグアンドドロップで異なるdivとdivクラス間でソート可能
- 21. メインアプリのロケールとは異なるRailsエンジンのロケールが可能ですか?
- 22. ODataControllerで異なるモデルを返すことは可能ですか?
- 23. 異なるネットワーク上でプリンタを呼び出すことは可能ですか
- 24. 角度:$ rootScope。$と$ scope。$ onを使用すると、コンポーネントの$ rootScope。$ broadcastを捕まえることができます。
- 25. 異なるプロジェクトに対して異なるgit configを設定することは可能ですか?
- 26. 異なるスクリーンサイズに異なるスタイルを定義することは可能ですか?
- 27. 汎用関数の異なるインスタンスが異なる静的変数を持つことは可能ですか?
- 28. SparseArrayに2つの異なるクラスを持つことは可能ですか?
- 29. $ rootScope。$ broadcastと$ scope。$ onのコールバックがコールされているかどうかのテスト
- 30. Ruby on Railsソート可能なリスト
これを達成するには、 '$ rootScope.on'と' $ scope.emit'を使用できます。 –