使用 ngDialog 确认模式
confirm modal using ngDialog
我在我的应用程序中使用 ngDialog,我想创建一个通用的确认模式,我可以在需要时使用它,确认消息将有所不同。
我的问题:
1- 创建具有 ngDialog 功能的指令是个好主意吗?它的设计是什么?
2- ngDialog 代码中 confirm() 和 openConfirm() 有什么区别。
提前致谢
好了,回答你的问题,
1 - 你可以为它创建一个指令,有一个 scope
,比如你传递确认类型的 type
(即 submit
用于提交确认,delete
用于删除确认)并且该指令应根据您指定的类型呈现消息。
2 - openConfirm()
是ngDialog的一种,只能通过确认操作来关闭(不像ngDialog.open()
),所以你没有能力在这里关闭对话框单击 DOM
中的任意位置。 confirm()
只是您用来关闭对话框的方法,您使用此方法关闭对话框并解决打开模态时返回的承诺,因此它可以在您的对话框中继续 <button ng-click="confirm()">Confirm</button>
。
希望对您有所帮助
更新
openConfirm()
Opens a dialog that by default does not close when hitting escape or clicking outside the dialog window. The function returns a promise that is either resolved or rejected depending on the way the dialog was closed.
要解决承诺,您的对话框应该是这样的:
使用 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
就可以使用指令控制器
这里 demo 向您展示了如何使用 type
尝试将 index.html
中的类型从 confirm
切换为 remove
并在对话框中查看更新的内容和按钮文本
我在我的应用程序中使用 ngDialog,我想创建一个通用的确认模式,我可以在需要时使用它,确认消息将有所不同。
我的问题:
1- 创建具有 ngDialog 功能的指令是个好主意吗?它的设计是什么?
2- ngDialog 代码中 confirm() 和 openConfirm() 有什么区别。
提前致谢
好了,回答你的问题,
1 - 你可以为它创建一个指令,有一个 scope
,比如你传递确认类型的 type
(即 submit
用于提交确认,delete
用于删除确认)并且该指令应根据您指定的类型呈现消息。
2 - openConfirm()
是ngDialog的一种,只能通过确认操作来关闭(不像ngDialog.open()
),所以你没有能力在这里关闭对话框单击 DOM
中的任意位置。 confirm()
只是您用来关闭对话框的方法,您使用此方法关闭对话框并解决打开模态时返回的承诺,因此它可以在您的对话框中继续 <button ng-click="confirm()">Confirm</button>
。
希望对您有所帮助
更新
openConfirm()
Opens a dialog that by default does not close when hitting escape or clicking outside the dialog window. The function returns a promise that is either resolved or rejected depending on the way the dialog was closed.
要解决承诺,您的对话框应该是这样的:
使用 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
就可以使用指令控制器
这里 demo 向您展示了如何使用 type
尝试将 index.html
中的类型从 confirm
切换为 remove
并在对话框中查看更新的内容和按钮文本