Javascript 我怎样才能实现一个;突出显示模式“;使用Backbone.js?

Javascript 我怎样才能实现一个;突出显示模式“;使用Backbone.js?,javascript,backbone.js,Javascript,Backbone.js,我已经开始研究Backbone.js,我似乎很难弄清楚如何为待办事项列表中的不完整事件实现突出显示模式 每个todo项都有一个复选框,该复选框映射到它的modelscompleted属性 我有一个名为Highlight complete的按钮,我想在每个项目的li中添加一个类,其模型的completed属性为false。我想让它切换这个模式,所以一次单击会高亮显示它们,下一次单击会删除所有高亮显示 我在模型集合上编写了一个过滤器来返回这些不完整的项目。我想我可以用这个,但我一直想弄明白 我不想

我已经开始研究Backbone.js,我似乎很难弄清楚如何为待办事项列表中的不完整事件实现突出显示模式

每个todo项都有一个复选框,该复选框映射到它的models
completed
属性

我有一个名为Highlight complete的按钮,我想在每个项目的
li
中添加一个类,其模型的
completed
属性为
false
。我想让它切换这个模式,所以一次单击会高亮显示它们,下一次单击会删除所有高亮显示

我在模型集合上编写了一个过滤器来返回这些不完整的项目。我想我可以用这个,但我一直想弄明白

我不想在模型中添加另一个名为
高亮显示的属性
,因为它可以从其
已完成的
属性推断出来,并且它只存在于其视觉表示中

它也应该是活动的,所以如果您打开了高亮显示模式并添加了一些新元素,它们应该高亮显示


我该怎么做?

让您的
列表视图
维护它在
附录项
中创建的
项目视图
的列表。您的ItemView在DOM中表示一个
  • ,根据我在样式表中看到的内容,您希望在其中切换突出显示的
    类。让您的项目视图公开一个方法,如
    highlightIfIncomplete
    ,并从
    ListView.getIncompleted
    调用它


    这是最新的提琴:

    您不需要收藏。GetComplete


    如果您的CSS结构与html继承权相匹配,并且模型状态不断更新,您就不必担心同步问题:

    此小提琴处理复选框状态:


    另一种选择是坚持只使用
    .render()
    ,但让模板处理
    并选中
    状态

    ,我考虑过这样做。让它在现场工作(参见问题编辑)是否很简单?谢谢如果你的CSS结构与你的html继承权相匹配,并且你的模型状态不断更新,你就不必担心同步问题:@rkw好主意,你应该把它作为一个答案发布。