这是使用ngDialog打开模态的简单方法:
ngDialog.open({ template: 'template.html',controller: 'someCtrl' })
如何将变量发送到“someCtrl”?
在ngDialog中有“解决”这样的东西吗?
角度引导模式的例子:
$modal.open({ template: "<p>This is template</p>",controller: "someCtrl",resolve: { someVar: function(){ return "Value of someVar" } } })
这将打开模态将’someVar’发送到负责的控制器.
更新:
ngDialog.open({ controller: function Ctrl(dep) {/*...*/},resolve: { dep: function depFactory() { return 'dep value'; } } });
看起来像ngDialog不支持在控制器中进行解析和自定义注入.但是,您可以通过自己创建控制器实例来手动执行此操作:
原文链接:https://www.f2er.com/angularjs/140307.htmlngDialog.open({ scope: $scope,template: 'template.html',controller: $controller('someCtrl',{ $scope: $scope,name: 'Thomas' }) });
那么在控制器中你将可以访问注入的服务/变量:
app.controller('someCtrl',function($scope,name) { console.log(name); // Thomas });
然而,这种方法有一个警告,因为当由ngDialog本身实例化的控制器也会在其中注入$element
服务,这是打开的对话框HTML的一个angular.element实例(但是我怀疑它在控制器中甚至是必要的).但是你应该知道它.