にParentController内ChildControllerを知らせるにはどうすれば以下のコードのようなコードを持っています。親領域内のボタンの1つがクリックされたときに子領域を表示したい。また、私はクリックされたボタンに基づいて別の関数を呼び出し、$scope.nameList
の中にChildController
を代入してデータを表示する必要があります。 私はこの仕事をするのがベストプラクティスであると思っていました。はAngularjs
0
A
答えて
0
$scope
で$broadcast
メソッドを使用するか、単純な$scope
継承を使用できます。最初のアプローチから始めましょう。
HTML:
<div ng-controller="ParentController">
<button ng-click="showSection('sectionA')">Show Section A</button>
<button ng-click="showSection('sectionB')">Show Section B</button>
<div ng-controller="ChildController">
<section ng-if="showSection.sectionA">SOME CONTENT HERE</section>
<section ng-if="showSection.sectionB">SOME CONTENT HERE</section>
</div>
</div>
ParentController:
function ParentControler($scope) {
$scope.showSection = function (section) {
$scope.$broadcast('ParentController.showSection', section);
}
}
ChildController:
function ChildController($scope) {
$scope.showSection = {
sectionA: false,
sectionB: false
};
$scope.$on('ParentController.showSection', (event, section) => {
$scope.showSection[section] = true;
}
}
それとも、VEの可能性単純に$scope
の継承を使用してください。この場合、十分な場合があります。
HTMLは前の例と同じです。
ParentController:
function ParentControler($scope) {
$scope.showSection = {
sectionA: false,
sectionB: false
};
$scope.showSection = function (section) {
$scope.showSection[section] = true;
}
}
ChildController:
function ChildController($scope) {
//
}
それはあなたが長期的に達成しようとしているかに依存します。あなたがこの物語の王様をするための単純な解決策を探しているなら、$scope
の継承を使用してください。これらの2つのコントローラーの間でより精巧な通信が必要な場合は、イベントメソッドをオプトインすることができます。
関連する問題
- 1. AngularJSはangularjsへ
- 2. AngularjsはAngularjs の新しい
- 3. AngularJSは、私はAngularJSテンプレートをダウンロードした
- 4. はAngularJS
- 5. Angularjsは
- 6. はAngularJS
- 7. はAngularJS
- 8. AngularJsは
- 9. はAngularjs
- 10. AngularJSは
- 11. AngularJSは
- 12. はangularJS
- 13. AngularJSは
- 14. はAngularjs
- 15. AngularJSは
- 16. はAngularJS
- 17. はAngularJS
- 18. はAngularJS
- 19. AngularJSは
- 20. は、angularjs
- 21. angularjsは
- 22. はAngularJS
- 23. はangularjs
- 24. AngularJSは
- 25. なぜAngularJSはAngularJSですか?
- 26. AngularJSは、コールバックが
- 27. AngularJSはHTML
- 28. Angularjsはここ
- 29. Angularjsモジュールは、
- 30. AngularJSカスタムサービスは
問題を解決できましたか? –