我正在使用Waves插件,我想在3个不同的类上使用它。
在jQuery中,我的代码就像这样
Waves.attach('.button', ['waves-button', 'waves-float']);
Waves.init();
在Angular中,我将其转换为指令
.directive('waves', function(){
return {
restrict: 'A',
link: function(scope, element) {
Waves.attach('.btn', ['waves-button', 'waves-float']);
Waves.init();
}
}
})
我有许多带有上述类的元素,并且在所有类中,我必须使用额外的属性才能使其工作data-waves
为避免这种情况,我已将指令限制为类,但我只能绑定一个类。
.directive('btn', function(){
return {
restrict: 'C',
...
如果将多个类限制为类,如何将多个类绑定到单个指令?我期待像
这样的事情.directive(['class1', 'class2', 'class3'], function(){
return {
restrict: 'C',
答案 0 :(得分:0)
我认为您必须创建新指令但共享工厂功能。
function mySharedDirectiveFactory () {
return {
// directive object
};
}
angular.module('myModule')
.directive('class1', mySharedDirectiveFactory)
.directive('class2', mySharedDirectiveFactory)
.directive('class3', mySharedDirectiveFactory);
无论如何,我认为最好只创建一个指令并将其限制为元素或属性,因此您将只有一个定义。