ngConfirmClick 在评估表达式之前确认
描述:
在用户确认后评估表达式。
参数:
- ng-confirm-click :( 表达式 )确认时评估的表达式。
- ng-confirm-message :( 模板 )确认对话框中显示的消息。
码:
Directives.directive("ngConfirmClick", ["$parse","$interpolate",function ($parse,$interpolate) {
return {
restrict:"A",
priority:-1,
compile:function(ele,attr){
var fn = $parse(attr.ngConfirmClick, null, true);
return function ngEventHandler(scope, ele) {
ele.on('click', function (event) {
var callback = function () {
fn(scope, {$event: "confirm"});
};
var message = $interpolate(attr.ngConfirmMessage)(scope) || 'Are you sure?';
if(confirm(message)) {
if (scope.$root.$$phase) {
scope.$evalAsync(callback);
} else {
scope.$apply(callback);
}
}
});
}
}
}
}]);