Backbone.js model.get没有检索值

时间:2013-07-08 18:09:25

标签: javascript backbone.js

这是我在Backbone.js中使用应用程序时遇到的一个非常奇怪的问题。我有不同的搜索结果,以手风琴显示,一次只能选择一个结果。

每个结果的模型都有一个属性,"选择"表示结果是否被选中。

由于某些原因,我无法取消选择匹配。这是在结果点击上运行的代码。

我一直在浏览它,select总是返回false,并且不知何故,在这个函数中永远不会被设置为true。

click_header: function (e) {
    e.stopPropagation();
    var s = this.model.get("selected");
    if (s == true) {
        this.model.set({ selected: false, expanded:false});
    } else {
        this.model.set("selected", true, { silent: true });
        this.model.set("expanded", true, { silent: true });
    }

}

编辑: 我解决了这个问题。由select更改触发的程序中的其他功能是在所有模型上将select设置为false。

2 个答案:

答案 0 :(得分:1)

我解决了这个问题。由select更改触发的程序中的其他功能是在所有模型上将select设置为false。

答案 1 :(得分:-1)

已更新以下是一种更简化的方法:

click_header: function (e) {
    e.stopPropagation();
    var s = this.model.get("selected");
    this.model.set({ selected: !s, expanded: !s}, { silent: !s });
}