我正在研究一个mean.js堆栈应用程序.当我尝试调用我的某个模型的静态函数时,我收到错误’SomeItem.createNew不是函数’
不起作用:
var SomeItem = require('./some-item.js'); aSchema.statics.createNew = function(body,cb) { var newA = new this(); //create child items for (i = 0; i < body.someItems.length; i++ { SomeItem.createNew(body.someItems[i],function(err,item) { } }
工作:
aSchema.statics.createNew = function(body,cb) { var newA = new this(); var SomeItem = require('./some-item.js'); //create child items for (i = 0; i < body.someItems.length; i++ { SomeItem.createNew(body.someItems[i],item) { } }
但是,如果我将require放在静态函数内部,它可以正常工作.为什么是这样?我想只需要在顶部声明’var SomeItem’一次,而不是在我需要使用它的每个函数中声明.