我有一个转换
的简单指令<a caracteristic="caracteristics.strength"></a>
使用正确的值进行更精细的标记:
template.html
<a ng-href="regles#{{ caracteristic.name | lowercase }}" class="ui mini {{ caracteristic.color }} label" data-title="{{ caracteristic.name }}" data-content="{{ caracteristic.description }}">{{ caracteristic.name | uppercase}}</a>
这是指令:
'use strict';
angular.module('myApp')
.directive('caracteristic', function() {
return {
templateUrl: 'components/caracteristic/caracteristic.html',
restrict: 'EA',
scope: {
caracteristic: '='
},
replace: true,
link: function() {
$('.mini.label').popup({
transition : 'fade up',
variation : "large"
});
}
};
});
所以基本上我的模型不会改变,如果我用我的指令渲染两个标签,$(...)。popup将被调用两次。
如何只加载一次?
PS:我是angularJS中的新手,现在也很新手将这个jQuery插件转换为原生的Angular。如果我完全错了,请加油! ;)答案 0 :(得分:0)
弹出代码似乎与你的特征指令完全分开,所以我不确定你为什么要把它放在那里。您应该寻找创建弹出指令:
app.directive('popup', function() {
return function (scope, elem) {
elem.popup({
transition : 'fade up',
variation : "large"
});
};
});
然后将其附加到要弹出的元素:
<div popup class="mini label"></div>