这是我在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。
答案 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 });
}