我想根据获得的值从JSON形成一个集合,而Backbone where
似乎是一个完美的工具,但看起来它并不接受变量。是否可以使用Backbone,Lodash或Underscore方法实现这种功能?
### collection instantiated above
App.vent.on 'event', (obtained_value) ->
desired_models = collection.where(attribute: obtained_value)
console.log desired_models
### outputs empty array
>[]
当我直接传递key: value
时,它确实有效,但我需要动态地形成集合。也许我最初采取了错误的做法,解决方案是另一个方向?
答案 0 :(得分:0)
不能工作,你需要传递一个对象,就好像这样
collection.where({attribute: obtained_value});
attribute_var=
attribute:obtained_value
collection.where(attribute_var);
最好的问候
答案 1 :(得分:0)
我假设你的目标是改变你要搜索的attribute
,因为如果值变化,对象文字应该可以正常工作。
你可以做到这一点,而不是内联对象文字。以下是我在JavaScript中的表现:
App.vent.on('event', function (obtainedValue) {
var finder = {};
finder[attribute] = obtainedValue;
desiredModels = collection.where(finder);
console.log(desiredModels);
});