我在我的应用程序中使用$ mdDialog,但希望将其用作"确认"对话而不是正常对话。这意味着,在用户单击确认对话框中的两个按钮之一之前,代码流不应继续。我注意到可以使用$ mdDialog.confirm(),但我不确定如何将它与自定义templateUrl和相应的控制器一起用作对话框的内容。
以下是我所写的,就对话而言可以正常工作,但是在打开对话框后代码流并没有停止。它应该停止,直到用户点击“确定”或“取消”为止。
$mdDialog.show({
controller: 'incomingCallDialogController',
templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html',
locals: {message: message},
parent: angular.element(document.body)
}).then(function (answer) {
console.log("here");
}
答案 0 :(得分:11)
基本上它会是这样的:
var confirm = $mdDialog.confirm({
controller: 'incomingCallDialogController',
templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html',
locals: {message: message},
parent: angular.element(document.body)
})
$mdDialog.show(confirm).then(function() {
console.log("here");
}
这里是codepen。
答案 1 :(得分:0)
Angular Js使用Matrial Ui和图标/图像确认对话框设计
Screenshot : https://i.stack.imgur.com/rghwX.png
Online demo : https://codepen.io/MuhammadRizwan/pen/aYBKqW?editors=1010
答案 2 :(得分:0)
尝试
$scope.showTimContent = function (tim) {
$mdDialog.show({
controller: ['$scope', '$mdDialog', 'tim', $scope.ViewTimContentCtrl],
templateUrl: 'wgt/tim/TimContentDialog.html',
locals: {'tim': tim},
clickOutsideToClose: true,
});
};
$scope.ViewTimContentCtrl = function ($scope, $mdDialog, tim) {
$scope.tim = tim;
$scope.hide = function () {
$mdDialog.hide();
};
$scope.cancel = function () {
$mdDialog.cancel();
};
};