首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$mdDialog与控制器

$mdDialog与控制器
EN

Stack Overflow用户
提问于 2016-05-12 13:47:03
回答 1查看 6.8K关注 0票数 5

我有两个$mdDialog,我想在两个不同的视图中使用,控制器对每个视图都是完全相同的。我想要的是在每个控制器中都有$mdDialog.show()函数,传递一个对象和一个控制器文件来完成这项工作。

但是,当我尝试这样做时,我会看到一个错误,即没有定义DialogCtrl。

例如,在视图控制器中:

代码语言:javascript
复制
angular.module('myApp')
        .controller('myViewController', [
            '$scope',
            '$mdDialog',
            myViewController
        ]);

function myViewController($scope, $mdDialog, myObj) {

    var obj = myObj;
    vm.showDialog = function(event) {
            $mdDialog.show({
                    controller: DialogCtrl,
                    templateUrl: 'partials/dialog.html',
                    clickOutsideToClose: false,
                    parent: angular.element(document.body),
                    targetEvent: event,
                    openFrom: {left: 1500},
                    closeTo: {left: 1500},
                    locals: { object: obj }
                })
                .then(function(response) {
                 //do stuff
                });

};

然后我的对话框控制器:

代码语言:javascript
复制
angular.module('myApp')
        .controller('DialogCtrl', [
            '$scope',
            '$mdDialog',
            'object',
            DialogCtrl
        ]);

    function DialogCtrl( $scope, $mdDialog, object ) {
        $scope.obj = object;

        $scope.answer = function(answer) {
            $mdDialog.hide({
                answer: answer,
                dataToPass: $scope.obj.name
            });
        };

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 13:52:33

尝试将控制器名称放在引号下面:

代码语言:javascript
复制
$mdDialog.show({
                controller: 'DialogCtrl',
                templateUrl: 'partials/dialog.html',
                clickOutsideToClose: false,
                parent: angular.element(document.body),
                targetEvent: event,
                openFrom: {left: 1500},
                closeTo: {left: 1500},
                locals: { object: obj }
            })

这将消除错误。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37188872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档