我在下面放了一个示例指令:
http://plnkr.co/edit/GJwK7ldGa9LY90bMuOfl?p=preview
我通过创建一个指令来实现它:
- 具有较高的
priority
比ngClick
,所以它被称为前ngClick
, - 使它
terminal
不会调用ngClick
。 - 监听点击事件,然后评估
ngClick
该消息(如果消息正常)的值。
作为奖励,您可以传递自己的消息,例如:
<a href="#" ng-click="deleteIt(id)" /confirm/iation-needed="Really Delete?" >Delete with custom message</a>
代码如下:
app.directive('/confirm/iationNeeded', function () { return { priority: 1, terminal: true, link: function (scope, element, attr) { var msg = attr.confirmationNeeded || "Are you sure?"; var clickAction = attr.ngClick; element.bind('click',function () { if ( window.confirm(msg) ) { scope.$eval(clickAction) } }); } };});希望有帮助。



