将当前控制器实例传递给模态服务
Pass current controller instance to modal service
我有一个CartController
,它在showCheckout
上这样做:
ModalService.showModal({
templateUrl: '/Product/CartCheckout',
controller: 'CartController'
}).then(function (modal) {
...
});
这是基于angularModalService.js。我只是传递当前控制器,因为我不想创建一个新的控制器只是为了处理Open()
和Close()
的模态对话框。
然而,仅通过名称传递控制器似乎实例化了该控制器的新实例。我想把控制器的当前实例传递给服务。我试过:
controller: $controller('CartController', $scope)
但我得到Unknown provider: $scopeProvider <- $scope <- CartController
。我也试过:
controller: $scope.ctrl
但是它似乎被忽略了,没有抛出任何错误,什么也没有发生,对话框也从未显示。
我已经通过修改AngularModalService.js修复了它,如下所示:
var modalScope = $rootScope.$new();
var modalScope = options.controllerScope || $rootScope.$new();
然后调用为:
ModalService.showModal({
templateUrl: '/Product/CartCheckout',
controller: 'CartController',
controllerScope : $scope
scope:可选。如果提供了,模态控制器将使用一个新的作用域作为作用域的子作用域(通过调用scope.$new()创建),而不是作为$rootScope的子作用域创建。
使用scope: $scope("强制当前范围控制器为父")而不是controllerScope: $scope强制$rootScope为父级。$parent. youobjects
相关文章:
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 打开一个模态并将其链接到AngularJS中的指令
- SemanticUI模态not onDeny/onApprove事件未激发
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 包含数据库中相关信息的开放模态
- bootstrap消除模态并显示另一个模态
- 模态提示-如何重写此代码
- 将数据传递给由服务创建的Ionic模态
- 从 Angular 模态服务中的模态主体模板返回数据
- 角度模态服务未知提供商
- 使用角度模态服务(AngularJS)自定义模态
- AngularJS模态服务停止工作
- 如何在角度模态服务中将输入值传递给控制器
- 角度模态>Ctrl+gt;服务>Ctrl继承不起作用
- 如何从控制器监视服务中的变量以打开模态
- AngularStrap——从一个服务中调用一个模态
- 将当前控制器实例传递给模态服务
- 单元测试angular引导模态服务
- 基于 JavaScript 的模态/弹出服务(如 KissInsights 和 Hello Bar)如何工作