我正在學習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發生時,如何填充使用視圖模型和用戶輸入表單的值?例如他們的電子郵件地址?