主干筛选器集合,用于按名称返回模型
backbone filter collection to return models by name?
我正在尝试按模型属性(名称)过滤集合,
byName: function(searchParam) {
var filtered = this.filter(function(model){
console.log(model.get('name').toLowerCase());
console.log(searchParam.toLowerCase());
if(model.get('name').toLowerCase().indexOf(searchParam.toLowerCase()) !== -1) {
model.trigger('show');
} else {
model.trigger('hide');
}
});
}
不过我遇到了一个小问题,我现在的搜索参数只是简单的"a"。因此,它应该返回名称中带有"a"的所有模型。
但是,我有 2 个应该返回的模型,这些模型的名称是"abba"和"AAAS"。我假设没有返回"AAAS",因为我的搜索词是小写的,而型号名称是大写的,所以我添加了一个.toLowerCase()
但它仍然只返回"abba"为什么?
根据_.filter
的文档(Backbone 的Collection.filter
使用它),你的filtered
数组应该是空的 - 它应该只包含元素,这些元素是返回的真值 - 你的函数返回undefined
这是假值。试试这个:
...
if(model.get('name').toLowerCase().indexOf(searchParam.toLowerCase()) !== -1) {
model.trigger('show');
return true;
} else {
model.trigger('hide');
}
...
现在filtered
应该包含所有name
中带有searchParam
的模型(不区分大小写)。
相关文章:
- Angular,函数在(模型)工厂中返回值
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Aurelia绑定-点击按钮返回查看模型
- 续集返回未定义的模型自定义方法
- “渲染骨干模型视图”返回未定义的结果
- Node.js应用程序中从模型层异步返回数据
- Ember.js返回相同的模型
- 保存模型返回错误
- Ember.js:路由返回多个模型,包括一个promise,给出错误
- 在控制器中将 ng 模型值返回为空的指令
- 在视图模型中使用 MVC 视图返回 JsonResult 数据
- 挖空映射对象未由杜兰达尔视图模型返回
- CanJS 模型查找全部返回重复项的列表
- 在我的情况下,ng 模型返回未定义
- Ember.js - 余烬数据不返回模型
- 为什么我的模型中的默认属性返回未定义
- 执行 Backbone where 和 findWhere 按值或引用返回模型
- 主干筛选器集合,用于按名称返回模型
- EmberJS返回模型前的处理
- 在Ember中返回模型属性的承诺