使用ngDialog确认模态



我在我的应用程序中使用ngDialog,我想创建一个通用的确认模态,我可以在需要的时候使用,确认消息将是不同的。

我的问题:

1-创建一个带有ngDialog功能的指令是一个好主意吗?它的设计是什么?

2-在ngDialog代码中confirm()和openConfirm()有什么区别

Thanks in advance

好吧,为了回答你的问题,

1 -你可以为它创建一个指令,有一个scope,比如type,你传递确认类型(即submit提交确认,delete删除确认),指令应该根据你指定的类型呈现消息。

2 - openConfirm()是一种类型的ngDialog,它只能通过确认动作来关闭(不像ngDialog.open()),所以你在这里没有能力在DOM的任何地方点击关闭对话框。confirm()只是一个你用来关闭对话框的方法,你使用这个方法来关闭对话框,并解决打开模态时返回的承诺,所以它可以在你的对话框中继续<button ng-click="confirm()">Confirm</button>

希望对你有所帮助

更新

openConfirm()打开一个默认情况下在按escape或在对话框窗口外单击时不会关闭的对话框。该函数返回一个承诺,根据对话框关闭的方式,该承诺被解决或拒绝。

要解决这个承诺,你的对话框应该是这样的:

与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在对话框

下面是一个演示,向您展示如何使用type

尝试将index.html中的类型从confirm切换到remove,并在对话框中看到更新的内容和按钮文本

最新更新