使用ngDialog打开模式的简单方法如下:
ngDialog.open({
template: 'template.html',
controller: 'someCtrl'
})
我如何将变量发送到“某某can”?
在ngDialog中有“决心”之类的东西吗?
来自角引导模式的示例:
$modal.open({
template: "<p>This is template</p>",
controller: "someCtrl",
resolve: {
someVar: function(){
return "Value of someVar"
}
}
})
这将打开模式,将'someVar‘发送到负责的控制器。
更新:
似乎新版本的ngDialog添加了以下功能:
ngDialog.open({
controller: function Ctrl(dep) {/*...*/},
resolve: {
dep: function depFactory() {
return 'dep value';
}
}
});
发布于 2015-01-13 03:21:38
看起来ngDialog不支持控制器中的解析和自定义注入。但是,您可以通过自己创建controller
实例来手动完成此操作:
ngDialog.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
实例(不过,我怀疑它在控制器中甚至是必要的)。但无论如何你都应该知道。
https://stackoverflow.com/questions/27920637
复制相似问题