3

Backbone のmodel.save()メソッドには、次の署名があります。

model.save([attributes], [options])

私はそれを呼び出したいのですが、オプションだけを渡して属性を渡したくありません。を使用して保存する前に属性を設定するため、この方法が必要ですmodel.set(attributes)

model.save()オブジェクトを 1 つだけ渡して、それが属性オブジェクトではなくオプション オブジェクトであることを示すにはどうすればよいですか?

4

1 に答える 1

4

ドキュメントはこれについて明示的であるため、ソースを確認する必要があります。

save: function(key, val, options) {
  var attrs, current, done;

  // Handle both `"key", value` and `{key: value}` -style arguments.
  if (key == null || _.isObject(key)) {
    attrs = key;
    options = val;
  } else if (key != null) {
    (attrs = {})[key] = val;
  }

その下には、さまざまなif (attrs ...)チェックが表示されます。だから言うなら

m.save(null, options)

モデルをそのまま保存し、options. さらに、こう言うと。

m.save(some_attrs, options);

それは(多かれ少なかれ)以下と同じです:

m.set(some_attrs);
m.save(null, options);
于 2012-12-02T03:02:22.273 に答える