where 筛选器键中的 Backbonejs 变量
Backbonejs variable in a where filter key
只是想知道是否有人知道为什么我不能在"哪里"中同时获得两个键/值来动态?我可以通过一个完美工作的变量来做这个值,但我似乎根本无法获得运行变量的键。
我的小提琴在这里:http://jsfiddle.net/leapin_leprechaun/eyw6295q/我试图工作的代码如下。
我是骨干网的新手,所以有可能这是你不能做的事情,我只是还不知道!
var newCollection = function(myCollection,prop,val){
alert('myprop: ' + prop);
alert('val: ' + val);
var results = myCollection.where({
//prop: val this doesn't work even if I put a string above it to make sure the value coming through is fine
//prop: "Glasnevin" //this doesn't work
"location" : val //this works
});
var filteredCollection = new Backbone.Collection(results);
var newMatchesModelView = new MatchesModelView({collection: filteredCollection });
$("#allMatches").html(newMatchesModelView.render().el);
}
感谢您抽出宝贵时间
您的代码不起作用,因为键"prop"总是按字面意思解释为字符串。因此,您按{"prop": val}
而不是按{"location": val}
搜索。有几种方法可以解决这个问题
1
var where = {};
where[prop] = val;
var results = myCollection.where(where);
阿拉伯数字
var results = myCollection.where(_.object([prop], [val]));
有几种方法可以做到这一点,最简单的方法是创建一个占位符对象,并分配键和值:
var query = {};
query[prop] = val;
var results = myCollection.where(query);
或者,如果这太冗长,并且开销非常小,则可以使用_.object
var results = myCollection.where(_.object([prop], [val]);
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- where 筛选器键中的 Backbonejs 变量
- BackboneJS Uncaught ReferenceError:未定义变量
- Backbonejs范围问题,变量不知何故变得未定义
- Javascript在成功回调时将变量保持在作用域中(jquery/backbonejs/parse函数)
- 调试BackboneJS + RequireJS实例变量,如集合、模型等
- 使用AMD Requirejs + Backbonejs时处理全局变量