我正在尝试过滤具有某些嵌套对象的模型的集合。不幸的是,我的结果总是空的。
所以我在集合中返回的模型是这样构建的:
我的目标很简单: 我有一个带有标签列表的视图和一个包含所有问题的内容视图。当用户点击标记时,例如“c#”,我想过滤我的集合,只返回标记为“c#”的问题
在我在我的服务器上进行提取之前它工作正常,但它没有优化。
我已经有了一个包含所有问题的集合,所以为什么要拨打新电话,过滤器是我认为更好的解决方案。
但我没有使用我的过滤器成功,我不知道是否可以这样做。现在我将我的过滤器放在我的路由器中,因为它更容易测试。
我无法制作这样的滤镜,因为我有一个对象数组
getQuestionsByTags: function(query) {
var test = this.questionsCollection.filter(function(model) {
return model.attributes.tags.name == query;
})
console.log('result');
console.log(test);
},
所以我想做一个循环,但我的结果总是一个空数组。
getQuestionsByTags: function(query) {
var test = this.questionsCollection.filter(function(model) {
_.each(model.attributes.tags, function(tag) {
return tag.name == query;
})
})
console.log('result');
console.log(test);
},
这可能很简单,但我不知道该怎么做。 在此先感谢:)
答案 0 :(得分:0)
我刚刚找到了一个有效的解决方案。
getQuestionsByTags: function(query) {
var flag;
var test2 = this.questionsCollection.filter(function(model) {
flag = false;
_.each(model.attributes.tags, function(tag) {
if(tag.name == query) {
flag = true;
}
})
if(flag) {
return model.attributes;
}
})
console.log('result');
console.log(test2);
},
我放了一面旗帜。如果他在循环中变为true,则模型具有此标记,因此我将其返回。
我认为这不是很传统,所以如果有人有其他解决方案,请随意发布:)