对于骨干患者来说,这是一个非常简单的问题, 但是,这里的答案非常有帮助。不是寻找功能性答案,而是更多关于这个具体例子的真实情况。
使用以下代码(一些简单的添加/删除收藏夹)
render: function() {
$(this.el).html(this.model.get('name'));
$(this.el).append("<span class='unfav'>remove</span>");
$(this.el).append("<span class='fav'>add</span>");
if( this.model.get("selected") == true ){
$(this.el).addClass("selected");
} // Should we really need to have an 'else' conditions here that removes the clas :( ? sound weird to me.
return this;
}
此处的完整代码http://jsfiddle.net/eHAfY/3/ (感谢代码库的@cymen)
添加元素后
当我点击“添加”时,不知道该项目被更改的原因,而当我点击“删除”时却不知道:如果有条件在真实时生效,为什么会这样班级&#39;什么时候还在假?
答案 0 :(得分:1)
你的渲染方法用$(this.el).html(...);
擦除它的内部HTML,这通常是渲染方法所要做的。
使用$(this.el).addClass("selected");
时,只有在model.selected
为真时才修改外部容器,并且当条件为false时,您的视图无法知道它应该删除此类。