如何在模块上下文中添加变量-Node.js
How to add variable into module context - Node.js
我遇到了一个问题,需要将一些变量绑定到模块的上下文。我有两个文件夹:控制器和模型。在模型中,我有一个这样的模型:
exports = {
name: String,
password: String
}
控制器看起来像这样:
exports = {
onMessage: (message) {
Model.doSomething();
}
}
所以我需要在不需要的情况下访问控制器中的模型。我不认为加载模型并将其提供给全局是很好的做法。我正在寻找类似MyNodeJsModule.addVarToContext(Model);
的东西
我不想在控制器中要求模型的原因是,我需要由外部系统加载模型,并让外部系统用数据库可访问的模型代替模型。
您可能必须这样更改Controller?
module.exports = function(Model) {
return {
onMessage: function(message) {
Model.doSomething();
}
};
}
不太确定您到底需要什么,但您可以将Controller
导出为构造函数,然后将每个实例绑定到特定的模型。
因此,在控制器中:
// Constructor
var Controller = function(model){
this._model = model;
}
Controller.prototype.onMessage = function(message) {
this._model.doSomething(message);
};
Controller.prototype.setModel = function(newModel){
this._model = newModel;
}
exports.Controller = Controller;
然后(外部):
var ModelController = require('./controller').Controller;
var modelController1 = new ModelController(model1);
var modelController2 = new ModelController(model2);
modelController1.setModel(model2);
modelController2.setModel(model1);
相关文章:
- 如何多次添加变量
- 如何在JS中的变量中添加变量
- 用javascript添加变量作为随机生成的结果编号
- Javascript 不从数据库向上添加变量
- 在 Java 脚本中向日期添加变量编号
- 在 AngularJS 中添加变量
- 姜戈;在自定义小部件中向媒体文件添加变量
- 使用下拉列表在嵌入式代码中添加变量
- JQuery 获取链接并根据第 n 个数字添加变量
- JavaScript源代码中添加变量的问题
- 在 JavaScript 中添加变量
- 为什么Google闭包编译器在原始命名空间为空的情况下向全局命名空间添加变量
- 如何添加变量's值转换为数组函数
- 如何在 javascript 中添加变量
- Node.js:如何在url中添加变量作为输入
- 关于在Javascript中添加变量的问题
- 基于IF语句添加变量无效
- 如何在模块上下文中添加变量-Node.js
- JavaScript:添加变量
- 从javascript向Magento会话添加变量