0

我正在使用 express js 4.1 和车把模板 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 结构。

4

1 回答 1

1

而不是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');

渲染“用户列表”页面时,dataSource: {{{gridData}}}将为网格绑定相应的数据源,这datasource是 json 类型。终于成功了!!!

于 2017-01-04T13:09:47.477 回答