Backbone.js model.get未检索值

Backbone.js model.get not retrieving value

本文关键字:检索 get js model Backbone      更新时间:2023-09-26

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

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

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

我一直在查看它,selected总是返回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。

我解决了这个问题。程序中其他地方的一个函数由对select的更改触发,在所有型号上都将select设置为false。

更新这里有一个更精简的方法:

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