嗯,回答你的问题,
1 - 你可以为它创建一个指令,有一个scope
,说type
你传递确认类型(即submit
提交确认,delete
删除确认),指令应该根据你指定的类型呈现消息。
2 -openConfirm()
是 ngDialog 的一种,只能通过确认动作来关闭(不像ngDialog.open()
),所以这里没有能力在点击DOM
. confirm()
只是您用来关闭对话框的一种方法,您使用此方法关闭对话框并解析打开模式时返回的承诺,因此它可以<button ng-click="confirm()">Confirm</button>
在您的对话框中继续。
希望这对你有帮助
更新
openConfirm()
打开一个对话框,默认情况下在点击退出或单击对话框窗口外时不会关闭。该函数返回一个promise,根据对话框关闭的方式解决或拒绝该promise。
为了解决这个承诺,你的对话应该是这样的:
使用 ngDialog 控制器
ngDialog.openConfirm({
template: '<div></div>',
controller: ['$scope', function($scope) {
// Controller logic here
}]
}).then(function (success) {
// Success logic here
}, function (error) {
// Error logic here
});
带指令控制器
ngDialog.openConfirm({
template: '<div></div>',
scope: $scope, // <- ability to use the scopes from directive controller
}).then(function (success) {
// Success logic here
}, function (error) {
// Error logic here
});
只要您scope: $scope
在对话框中传递,就可以使用指令控制器
这是一个演示,向您展示如何使用类型
尝试将类型index.html
从切换confirm
为remove
并在对话框中查看更新的内容和按钮文本