加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 09:56:40 所属栏目:安全 来源:网络整理
导读:这是使用ngDialog打开模态的简单方法: ngDialog.open({ template: 'template.html',controller: 'someCtrl'}) 如何将变量发送到“someCtrl”? 在ngDialog中有“解决”这样的东西吗? 角度引导模式的例子: $modal.open({ template: "pThis is template/p",
这是使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读