javascript – ng-click用户定义的$mdDialog与外部模板不起作用

第一次用$mdDialog工作我习惯用外部HTML模板创建一个对话框.

到目前为止,这么好,…它的工作模板可以打开,但在HTML中的ng-click不再工作.

我找不到它的原因.

在userController中调用mdDialog,如下所示:

在userController中打开$mdDialog的方法:

vm.showMenu = function showMenu(ev){

    $mdDialog.show({
        controller: MenuDialogController,templateUrl: 'app/components/head/user/menu.dialog.html',parent: angular.element($document.body),targetEvent: ev,clickOutsideToClose:true,fullscreen: $scope.customFullscreen // Only for -xs,-sm breakpoints.
    })
        .then(function(answer) {
            $scope.status = 'You said the information was "' + answer + '".';
        },function() {
            $scope.status = 'You cancelled the dialog.';
        });
};

这是对话框的对话框控制器,按钮不起作用:

angular
    .module('trax')
    .controller('MenuDialogController',MenuDialogController);

function MenuDialogController() {

    var vm = this;

    vm.close = function close(){
        alert('close clicked');
    }

    vm.ok = function ok(){
        alert('ok clicked');
    }

}

这是dialogController的html代码:

没有任何ng-clicks正在运行!

有什么暗示吗?

最佳答案
    angular
    .module('trax')
    .controller('MenuDialogController',MenuDialogController);

function MenuDialogController() {

    var vm = this;

    //Here change vm to $scope
    $scope.close = function close(){
        alert('close clicked');
    }

    $scope.ok = function ok(){
        alert('ok clicked');
    }

}

您必须将func分配给对话框控制器的$scope

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小