2013-01-11 123 views

回答

21

我發現這樣做一般(不只是打電話Job.someStatic())的唯一方法是:

this.model(this.constructor.modelName).someStatic(); 

更新感謝@ numbers1311407:

我不不知道是否一直是這種情況,但至少貓鼬3.6.11,你可以縮短爲:

this.constructor.someStatic(); 

貓鼬4.x的更新

這仍然工作在4.4.12。

+0

哦,這是醜陋的...但這就是我在做什麼:當我創建模型時,我在模型本身上設置了一個方法。 (Job.abc = function(){})我認爲這是靜態的。有沒有其他方法可以將函數傳遞給實例? –

+0

爲什麼您不是將該函數添加到架構的'statics'而是? – JohnnyHK

+0

我無法訪問該靜態文件。但你的方法也可行。我想要更短的sintax,但我可以忍受它。如果你想到更緊湊的東西,我很高興聽到 –