我正在学习Node.js.目前,我正在使用ES6,Node和Express。我很关心我的观点模型的范围。在这个时候,我有以下几点:在Node.js App中使用查看模型
server.js
// setup the routing
var routes = require('./routes');
app.use('/', routes.home);
的路线正确注册。我在$ projectDir/routes/home.js中定义了我的路线。这个文件看起来是这样的:
home.js
var router = require('express').Router();
/* GET the main page. */
router.get('/', function(req, res) {
var viewModel = require('../viewModels/home/index');
res.render('home/index', viewModel);
});
/* GET the contact page. */
router.get('/contact', function(req, res) {
var viewModel = require('../viewModels/home/contact');
res.render('home/contact', viewModel);
});
/* POST contact information */
router.post('/contact', function(req, res) {
// ?
});
这种方法工作得很好。我已经在$ projectDir/viewModels/home/index.js和$ projectDir/viewModels/home/contact.js中定义了我的视图模型。
index.js
var viewModel = {
title: '',
constructor() {
this.title = 'Welcome';
}
};
module.exports = viewModel;
contact.js
var viewModel = {
title: '',
emailAddress: '',
constructor() {
this.title = 'Contact Us';
}
};
module.exports = viewModel;
我身边视图模型的范围的关注。首先,我在两个单独的文件中使用module.exports = viewModel;
。这个可以吗?或者我应该将变量命名为indexViewModel
和contactViewModel
?另外,POST发生时,如何填充使用视图模型和用户输入表单的值?例如他们的电子邮件地址?