我正在使用AngularJS,我有一個指令,它有自己的控制器。它繼承了父控制器的範圍。從AngularJS的父控制器調用指令控制器的方法
作爲一個例子,考慮以下因素:
function ParentCtrl() {
$scope.aMethod = function() {
// DO SOMETHING
};
}
function ChildCtrl() {
$scope.bMethod = function() {
// DO SOMETHING ELSE
}
}
現在,ParentCtrl的$scope.aMethod
()由NG點擊指令觸發。我想要做的是調用ChildCtrl()的$scope.bMethod
。我該怎麼做?
編輯:一些更多的信息。與ParentCtrl關聯的模板有一個按鈕和多個指令。每個指令都會使用不同的輸入集來加載表單。當單擊ParentCtrl模板中的按鈕時,指令將通過ng-switch on
和ng-switch-when
一個接一個加載。
當用戶單擊該按鈕時,屬於該指令的ChildCtrl用於將數據存儲在其各自的表單中。
因此,單擊按鈕時:
1. ChildCtrl保存與已加載的當前指令關聯的模型。
2. ParentCtrl加載系列中的下一個指令。
ng-click
被綁定到與ParentCtrl關聯的按鈕。但是,當點擊該按鈕時,ChildCtrl還需要執行一些操作(保存表單數據)。如何做到這一點?
你不能。但是一個父級範圍屬性上的服務或'$ watch'可以完成同樣的事情。你能提供一個關於你的用例的更多細節嗎? – 2013-03-01 19:10:53
@JoshDavidMiller當然。編輯我的問題,以反映相同的... – callmekatootie 2013-03-01 19:29:29
你可以發佈一個超級簡單的蹲點,確定核心問題空間? – 2013-03-01 19:56:53