我尝试更新的元素含量取决于我的自定义指令的属性值。 下面的代码在现场负载表现良好,但只有一次。 在属性值动态更新不会触发任何事件。 我该怎么办错了吗?
标记重复(比赛在比赛中)内:
<div ng-tipp-result="[[getIconClass(match)]]"></div>
指示:
myApp.directive('ngTippResult', function() {
return {
restrict: 'A',
link: function(scope, elem, attrs) {
var content = "s";
scope.$watch(attrs.ngTippResult, function(v){
switch(v){
case 1: content = '<i class="icon-circle"></i>';break;
case 2: content = '<i class="icon-X"></i>';break;
case 3: content = '<i class="icon-Y"></i>';break;
case 4: content = '<i class="icon-Z"></i>';break;
case 5: content = '<i class="icon-ok"></i>';break;
case 6: content = '<i class="icon-minus"></i>';break;
}
elem.html(content);
});
}
};
});
编辑:
使用属性名称作为字符串解决了这个问题,但造成的另一个,我遇到了一个无穷远消化循环与上面的代码。
<li ng-repeat="match in matches">
<i class="pull-right [[getIconClass(match)]]"></i>
</li>
getIconClass是返回取决于匹配从1至6的值的控制器方法。