我是角色的新手,尝试使用角度材质来创建弹出对话框。我对这里的承诺和范围感到困惑。如果单击对话框按钮,控制台将显示“已创建”,然后将不会弹出任何窗口。
但如果我将其更改为.then(createFolder, ..)
,function createFolder(){...}
,一切正常。
$scope.createFolder = function(ev) {
$mdDialog.show({
controller: dialogController,
templateUrl: 'dialog_new_folder.html',
parent: angular.element(document.body),
targetEvent: ev,
clickOutsideToClose:true,
})
.then($scope.createFolder, $scope.cancelDialog);
};
$scope.createFolder = function() {
console.log('created')
}
$scope.cancelDialog = function() {
console.log('cancelled')
}
function dialogController($scope, $mdDialog) {
$scope.folderName = '';
$scope.hide = function() {
$mdDialog.hide();
}
$scope.cancel = function() {
$mdDialog.cancel();
}
}
答案 0 :(得分:0)
您正在使用$scope.createFolder
同时成功关闭对话框时调用的函数,以及显示对话框的函数。你的第二个声明是覆盖你的第一个。重命名其中一个。