2

私はおそらく何かを見落としているか、単に初心者ですが、キーと値のペアをjavascript関数に渡すことができません。

Backbone.View および Backbone.Paginator.clientPager コレクションを利用するフィルター モジュールを作成しています。何も変更/レンダリングせずにコレクション全体を検索する whereExpanded() という clientPager に関数を追加しました。

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はフィルタリングしたい Backbone.Model の属性であり、 はフィルタリングしfilterByValueたい属性の値です。利用してみ eval()ましたが、それもうまくいかないようです。

どんな助けでも大歓迎です!

4

2 に答える 2