gpt4 book ai didi

AngularJS:如何使用多个实例定位特定指令

转载 作者:行者123 更新时间:2023-12-04 19:09:46 25 4
gpt4 key购买 nike

我有一个指令的多个实例,我只想针对一个特定的实例。例如在下面的代码中,我如何确保带有 class="one" 的 div是唯一一个被事件触发的事件 $rootScope.$broadcast('myEvent') .

JS:

myApp.directive('myDirective', function() {
return {
restrict: 'A',
controller: function(scope, el, attrs) {
scope.$on('myEvent', function() {
el.css({left: '+=100'});
});
},
};
});

HTML:
<div my-directive class="one"></div>
<div my-directive class="two"></div>

最佳答案

您应该在事件处理程序中进行此检查:

myApp.directive('myDirective', function() {
return {
restrict: 'A',
controller: function(scope, el, attrs) {
scope.$on('myEvent', function(ev,args) {
//do the check - you could provide a function, a value or something else
if(el.hasClass(args.class)){
el.css({left: '+=100'});
}
});
},
};
});

然后在$broadcast中添加参数
$rootScope.$broadcast('myEvent',{class:'one'})

关于AngularJS:如何使用多个实例定位特定指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230299/

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