directive例子1
(function() { 'use strict'; angular.module('app.widgets') .directive('confirm', ['confirm2', 'toastr', function(confirm, toastr) { return { restrict: "A", scope: { ngClick: '&', confirm: '@', confirmIf: "=", confirmOptions: "=", confirmContext: '=', confirmIfFalse: "&", confirmIfFalseMessage: '@' }, link: function(scope, ele, attrs) { ele.unbind("click").bind('click', function(event) { event.preventDefault(); var config = {}; config.content = scope.confirm; config = angular.extend(config, scope.confirmOptions); var fn = scope.ngClick; var context = scope.confirmContext; if (angular.isUndefined(scope.confirmIf) || scope.confirmIf) { confirm(config, context) .ok(function() { fn(); }) } else { if (attrs.confirmIfFalse) { var ifFn = scope.confirmIfFalse; if (ifFn) { scope.$apply(ifFn); } } else if (scope.confirmIfFalseMessage) { toastr.warning(scope.confirmIfFalseMessage); } } }) } }; }]) })();