0

对于那些有骨干经验的人来说,这是一个非常简单的问题,但这里的答案仍然非常有帮助。不是在寻找功能性答案,而是更多关于这个特定示例的实际情况。

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

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的代码库)

添加元素后,

不明白为什么当我单击“添加”时项目会更改,而当我单击删除时不会更改:如果有一个条件在为 true 时生效,为什么当 false 时它仍然是类?

4

1 回答 1

1

您的渲染方法会擦除其内部 HTML,$(this.el).html(...);而这正是渲染方法通常所期望的。

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

于 2012-11-22T10:09:51.830 回答