带有click事件的Angular指令被调用两次

use*_*483 1 javascript angularjs

我有一个问题,我的点击事件被调用两次.不知道我错过了什么,但我只在我的应用程序中包含了这个指令.我试过只将指令添加到一个元素,但调用仍然发生两次.

有人可以看看代码并告诉我我错过了什么吗?

angular.module('mymodule', [])
.directive('mydirective', function () {
    return {
        restrict: 'AE',
        link: function ($scope, $element, $attrs) {

            $element.children().bind('click', function () {

                console.log("test" + this);

                if ($element.hasClass('active')) {
                    $element.removeClass('active');
                    return;
                } else if (!$element.hasClass('active')) {
                    $element.addClass('active');
                    return;
                }
            });
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

ssi*_*777 5

在click函数中使用它来停止冒泡事件

 e.stopPropagation();
Run Code Online (Sandbox Code Playgroud)

要了解更多,请查看此内容