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

Siv*_*iva 6 backbone.js

例如,我有以下代码

var myModel = Backbone.Model.extend({
    foo: function(){
       console.log('in foo..')
    }
});
Run Code Online (Sandbox Code Playgroud)

foo如果我实例化myModel但是有没有办法在没有实例化的情况下访问它,这个方法有效吗?

Mic*_*jac 12

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

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

此处,foo仅在实例中可用myModel,并且bar可以静态调用.myModel.bar().