$mdDialog 如何与 promise 和 $scope 一起工作?
How does $mdDialog work with promise and $scope?
我是 angular 的新手,正在尝试使用 angular material 创建弹出对话框。我对这里的承诺和 $scope 感到困惑。如果我单击对话框按钮,控制台将显示 'created',然后不会弹出 window。
但是如果我把它改成.then(createFolder, ..)
,function createFolder(){...}
,一切就ok了
$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();
}
}
您将 $scope.createFolder
用于对话框成功关闭时调用的函数和显示对话框的函数。您的第二个声明将覆盖您的第一个声明。重命名其中之一。
我是 angular 的新手,正在尝试使用 angular material 创建弹出对话框。我对这里的承诺和 $scope 感到困惑。如果我单击对话框按钮,控制台将显示 'created',然后不会弹出 window。
但是如果我把它改成.then(createFolder, ..)
,function createFolder(){...}
,一切就ok了
$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();
}
}
您将 $scope.createFolder
用于对话框成功关闭时调用的函数和显示对话框的函数。您的第二个声明将覆盖您的第一个声明。重命名其中之一。