Bbone渲染行为/切换

时间:2012-11-22 08:37:38

标签: events backbone.js render

对于骨干患者来说,这是一个非常简单的问题, 但是,这里的答案非常有帮助。不是寻找功能性答案,而是更多关于这个具体例子的真实情况。

使用以下代码(一些简单的添加/删除收藏夹)

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;什么时候还在假?

1 个答案:

答案 0 :(得分:1)

你的渲染方法用$(this.el).html(...);擦除它的内部HTML,这通常是渲染方法所要做的。

使用$(this.el).addClass("selected");时,只有在model.selected为真时才修改外部容器,并且当条件为false时,您的视图无法知道它应该删除此类。