我可能忽略某些東西或者只是一個noob,但是我無法將鍵值對傳遞給javascript函數。將動態鍵值對傳遞給函數
我正在編寫一個利用Backbone.View和Backbone.Paginator.clientPager集合的過濾模塊。我在clientPager中添加了一個名爲whereExpanded()的函數,它可以搜索整個集合而不用修改/渲染任何東西。
Backbone.Paginator.clientPager.prototype.whereExpanded = function(attrs) {
return _.filter(this.origModels, function(model) {
var key;
for (key in attrs) {
if (attrs[key] !== model.get(key)) {
return false;
}
});
};
正如你所看到的,它需要attrs
變量並遍歷它。我希望能夠將關鍵值對傳遞給它,但是,關鍵和值需要是動態的。
collection.whereExpanded(filterByField, filterByValue)
filterByField
是我希望通過篩選和filterByValue
就是我想過濾的屬性值的Backbone.Model的屬性。我嘗試過使用eval()
,但我似乎無法讓它工作。
任何幫助將不勝感激!
這是正確的答案。有[很好的理由不使用eval](http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea)。 – voithos
eval是危險的,並且是XSS攻擊的目標。您可以使用eval的環境非常狹窄,但它們非常少,所以使用它沒有任何意義。如上所述,最好使用參數。 –