我有一個控制器名爲「contractController」如何調用從模型控制器父類的方法
contractController包含方法保存()
contractController打開與控制器的一個示範窗口命名爲「PopUpcontroller「
from PopUpcontroller i想打電話保存方法contractController
試圖調用像$parent
保存方法,但沒有任何工作。
請指教。
我有一個控制器名爲「contractController」如何調用從模型控制器父類的方法
contractController包含方法保存()
contractController打開與控制器的一個示範窗口命名爲「PopUpcontroller「
from PopUpcontroller i想打電話保存方法contractController
試圖調用像$parent
保存方法,但沒有任何工作。
請指教。
如果您使用的角度引導用戶界面(http://angular-ui.github.io/bootstrap/),然後,使用的當您調用$ modal.open()時,請使用「resolve」屬性。
無論您添加什麼解決方案,如果您將其作爲依賴項注入進行掛接,都將可用。
在他們頁面上的例子中,「item」可用於下面,因爲它被連接在「resolve」中。
解析:
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: size,
resolve: {
items: function() {
return $scope.items;
}
}
});
用途:
angular.module('ui.bootstrap.demo').controller('ModalInstanceCtrl', function ($scope, $modalInstance, items) {
如果兩個控制器嵌套使:
<div ng-controller="contractController">
<div ng-controller="PopUpcontroller">
</div>
</Div>
你可以在popUpController調用$ scope.save(),它會自動上升到找到與該方法的父(直到$ rootScope )。
,如果他們沒有嵌套,你應該使用的服務,以便執行控制器
你需要確保,如果你想保留它的原型彈出從contractController
的範圍內創建之間的溝通。你如何創建彈出窗口?
像這樣的事情在角UI自舉(我不使用它,但API應該接受它):
$modal.open({
scope: $scope,
/* ... other opts */
});
功能PopUpcontroller($範圍,$ rootScope,$模式,認證介紹,contractService){ ... PopUpcontroller $注入= [」 $ scope','$ rootScope','$ modal','authen','contractService']; – nidhin 2014-11-04 11:29:13
看起來你使用的是Angular UI Bootstrap的'$ modal',對嗎?您需要將您的控制器的範圍傳遞到其「範圍」選項。 – 2014-11-04 11:36:31