需要调用对象内的某些属性

我试图要求和调用属性内的一个函数,并通过同一对象的其他属性:

var Events = { api: true, path: '/api/events', model: require('../models/EventModel')(mongoose), controller: require('../controllers/EventController')(Events.model) }; 

并返回:TypeError:无法读取未定义的属性“模型”

我已经试着通过这个模型,但我认为这是指全球,而不是对象,对吗?

有可能实现我想要的吗?

谢谢!

您可以将controller转换为getter

 var Events = { api: true, path: '/api/events', model: require('../models/EventModel')(mongoose), get controller() { return require('../controllers/EventController')(this.model)} }; 

Event尚未创build,当你尝试使用它。

为什么不把它存储在一个variables中?

 var eventedMongoose = require('../models/EventModel')(mongoose); var Events = { api: true, path: '/api/events', model: eventedMongoose, controller: require('../controllers/EventController')(eventedMongoose) };