我有我想從我的Backbone.Model對象的實例訪問靜態屬性。我知道我可以硬編碼父構造函數來調用該方法,但這阻止了我具有多態靜態函數。例如,如果需要,我希望能夠覆蓋ExtendedInventory
中的foo
函數,而不必更改任何其他代碼。如何在不指定模型名稱的情況下從該模型的實例調用靜態Backbone.Model函數?
var Inventory = Backbone.Model.extend({},
//STATIC
{
foo: function() {
alert('bar');
}
});
var i = new Inventory({});
i.constructor.foo(); //This works!
var ExtendedInventory = Inventory.extend({});
var ei = new ExtendedInventory({});
ei.constructor.foo(); //THIS DOES NOT WORK
//How do I generically access the `Inventory.foo()` function via the `ei` object. I would
所以,這個工作,但我不明白它非常好,它只能在Firefox工作:ei.constructor.prototype .__ proto __。constructor.foo() –
我寫了一篇博客文章,介紹了使用靜態成員和骨幹的例子,這可能對任何遇到此問題的人都有幫助。 http://taurenmills.wordpress.com/2011/10/08/backbone-js-with-class-properties/ – Tauren
+1用於吸引關注類屬性 – Chuck