gpt4 book ai didi

angularjs - 编译后多次执行On事件

转载 作者:行者123 更新时间:2023-12-02 03:18:28 25 4
gpt4 key购买 nike

我有这个指令:

    myApp.directive('someDir', function($compile){
return{
restrict: 'A',
link: function(scope, element, attrs){
scope.$on("compileTask", function() {
$compile(element)(scope);
});
}
}
});

在我的 Controller 中,我将事件广播为:

myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.$broadcast('compileTask');
}]);

View 是:

<h2 some-dir ng-bind-html="employee.name"></h2>
<h4 some-dir ng-bind-html="employee.designation"></h4>

问题是,当“compileTask”事件被广播时,它被广播了多次。我想知道为什么它会多次广播该事件?以及允许单次广播的方式是什么

最佳答案

事件被“广播”给所有事件监听器。由于您有两个指令监听该事件,因此它们都会处理它。

关于angularjs - 编译后多次执行On事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35126869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com