如何调用从模型控制器父类的方法
问题描述:
我有一个控制器名为“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