angularjs – 发送变量到控制器(‘resolve’)在ngDialog

前端之家收集整理的这篇文章主要介绍了angularjs – 发送变量到控制器(‘resolve’)在ngDialog前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是使用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添加了这个功能

ngDialog.open({
    controller: function Ctrl(dep) {/*...*/},resolve: {
        dep: function depFactory() {
            return 'dep value';
        }
    }
});
看起来像ngDialog不支持在控制器中进行解析和自定义注入.但是,您可以通过自己创建控制器实例来手动执行此操作:
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实例(但是我怀疑它在控制器中甚至是必要的).但是你应该知道它.

演示:http://plnkr.co/edit/3YpQ2bemk8fntKAPWY9i?p=preview

原文链接:https://www.f2er.com/angularjs/140307.html

猜你在找的Angularjs相关文章