backbone.js 如何在模型中创建静态方法?

backbone.js how to create static method in model?

例如我有以下代码

var myModel = Backbone.Model.extend({
    foo: function(){
       console.log('in foo..')
    }
});

如果我实例化 myModel,这个 foo 方法就可以工作,但是有什么方法可以在不实例化的情况下访问它吗?

您可以将它作为第二个参数传递给 extend:

var myModel = Backbone.Model.extend(
    // instance properties
    {
        foo: function() {
           console.log('in foo..')
        }
    },
    // static
    {
        bar: function() {
           console.log('in bar..')
        }
    }
);

这里,foo只会在myModel的实例中可用,bar可以静态调用。 myModel.bar().