【发布时间】:2017-01-04 05:17:10
【问题描述】:
我正在使用 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来绑定这些数组值。另外,由于express js遵循MVC结构,请建议如何在hbs文件中使用@HTML helpers和@section ControlsSection{}。
【问题讨论】:
-
将此行改为
res.render('user-list', {viewBag: resultSet}) -
是的.. 很好.. 我的实际问题是如何在 hanblebars 中使用 HTML 助手和@viewBag。
-
你不能在 NodeJS 中使用 DotNet 库。你应该找到替代的 npm 包,或者最好自己编写。
-
另外,在处理
{{viewBag.gridData}}这样的 json 数据时,您应该遵循handlebars语法,而不是@。 -
我应该将此 viewBag.gridData 绑定为网格的数据源。我将把这个数据源绑定在 hbs 视图文件的 标记内。由于我在脚本标签中使用它,我无法像这样使用 {{viewBag.gridData}}
标签: node.js express handlebars.js express-handlebars