10
如何從mongoose中的實例方法訪問靜態方法?如何從mongoose中的實例方法訪問靜態方法?
我有一個名爲Job的工作模型。從實例方法job.start我想調用靜態方法Job.someStatic()。如何從實例方法中的「this」獲取對Job的引用?
感謝
如何從mongoose中的實例方法訪問靜態方法?如何從mongoose中的實例方法訪問靜態方法?
我有一個名爲Job的工作模型。從實例方法job.start我想調用靜態方法Job.someStatic()。如何從實例方法中的「this」獲取對Job的引用?
感謝
我發現這樣做一般(不只是打電話Job.someStatic()
)的唯一方法是:
this.model(this.constructor.modelName).someStatic();
更新感謝@ numbers1311407:
我不不知道是否一直是這種情況,但至少貓鼬3.6.11,你可以縮短爲:
this.constructor.someStatic();
貓鼬4.x的更新
這仍然工作在4.4.12。
哦,這是醜陋的...但這就是我在做什麼:當我創建模型時,我在模型本身上設置了一個方法。 (Job.abc = function(){})我認爲這是靜態的。有沒有其他方法可以將函數傳遞給實例? –
爲什麼您不是將該函數添加到架構的'statics'而是? – JohnnyHK
我無法訪問該靜態文件。但你的方法也可行。我想要更短的sintax,但我可以忍受它。如果你想到更緊湊的東西,我很高興聽到 –