1
这里是jsfiddle。
HTML:如何修改Angular中的指令模板类名?
<div ng-app="app">
<my-checkbox text="apple" status=true></my-checkbox>
<my-checkbox text="pineapple" status=false></my-checkbox>
<my-checkbox text="peach" status=true></my-checkbox>
</div>
JS:
angular.module("app", [])
.directive("myCheckbox", function(){
return {
restrict: "E",
scope: true,
link: function(scope, ele, attr){
var iconChecked = "glyphicon-ok-sign";
var iconUnChecked = "glyphicon-remove-sign";
scope.icon = attr.status ? iconChecked : iconUnChecked;
scope.name = attr.text;
ele.bind("click", function() {
attr.status = !attr.status;
});
},
template: "<div><span><i class='glyphicon {{icon}}'></i><span>{{name}}</span></span></div>"
};
});
,当我点击它的图标不会改变。我做错了什么?有人帮忙?
干杯!
真的真的真的APPR eciate为你的真棒答案。你不仅要知道问题本身,还要知道一些相关的问题。非常感谢! – nich
我发现一个问题,为什么所有图标在开始时都是相同的。在jsfiddle中,第二个图标应该是“删除”风格而不是“ok”风格。 – nich
@nich啊,那是因为属性值是字符串,除非被分析/评估。我添加了一个将初始字符串值转换为布尔值的检查 – Phil