主干 model.save()方法具有以下签名:
model.save([属性], [选项])
我想调用它,但我不想传入任何属性,只有选项。我需要这种方式,因为我在使用 model.set(attributes)
保存之前设置了属性。
我怎样才能只将一个对象传递给 model.save()
但指出它是选项对象而不是属性对象?
最佳答案
文档对此有明确说明,因此我们必须查看 the source :
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)
您将按原样保存模型,您将能够设置您的选项
。此外,如果你这样说:
m.save(some_attrs, options);
那么这(或多或少)与:
m.set(some_attrs);
m.save(null, options);
关于javascript - 跳过第一个可选参数并将第二个参数传递给 Backbone 模型。保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13665752/