如何在 express js 中使用 MVC viewBag 概念?

How to use MVC viewBag concept in express js?

我正在使用 express js 4.1 和 handlebars 模板 4.0。呈现页面时,我将对象集合从 express route.get('/') 发送到 handlebar(.hbs) 视图文件。发送对象是否有可能像 viewbag(类似于 MVC)并且应该使用 hbs 文件中的@viewbag 访问这些对象?下面的代码用于渲染 hbs 文件以及 2 个对象的集合

var gridData =  [
          { Name: 'xxxx', City: 'dddd' },
          { Name: 'yyyy', City: 'rrrr' },
          { Name: 'zzzz', City: 'ssss' }
    ]
resultSet["gridData"] = gridData;
resultSet["newdata"] = [1,2,3];
res.render('user-list',  {viewBag: resultSet});

这里我需要使用viewBag作为hbs中的@viewBag.gridData或者@viewBag.newdata来绑定这些数组值。另外,请建议如何在 hbs 文件中使用 @HTML 助手和 @section ControlsSection{},因为 express js 遵循 MVC 结构。

我用

代替了 res.render('user-list', {viewBag: gridData});
res.locals.gridData = JSON.stringify(gridData); // To make it global and accessible in hbs view file
res.locals.newdata = newdata; 
res.render('user-list');

渲染'user-list'页面时,dataSource: {{{gridData}}}会为网格绑定相应的数据源,这个datasource属于json类型。终于成功了!!!