通过ng点击/ng-Submit承诺指令



基本上,我创建了一个指令,该指令通过ng-click对链接函数的承诺,并检测到何时完成诺言,以便我可以将类附加到其中。

示例:

.directive('myDirective', function($parse) {
    return {
         restrict: 'A',
         scope: {
            ng-click: '&'
         },
         link: function(scope) {
            var d = $parse(scope.ngClick);
            element.on('click', function(event) {
                d().then(function() {
                    element.addClass(attrs.myDirective);
                });
            });
        }
    };
});
<element ng-click="promise();" my-directive="class"></element>
//controller function
$scope.promise = function() {
    return promise().then(function() {});
}

除了控制器函数被调用3次外,它正在做我想要的。我真的很想仅使用require:'^ngClick'在这里,但是由于NGCLICK指令没有任何控制器,所以我做不到。谁能向我指向正确的方向?谢谢!

在我的指令的链接中添加了event.preventdefault()

element.on('click', function(event) {
    event.preventDefault();
    d().then(function() {
        element.addClass(attrs.myDirective);
    });
 });

最新更新