第一次用$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