访问客户端 js 文件中的 handlebars 变量
Accessing handlebars variable inside client js file
我正在使用 hbs 为 express js 框架生成把手视图,我需要从单独的 JavaScript 文件中访问我传递给视图的变量。
例如:
var foo = {{user.name}}
显然此代码会引发错误,但是在 JavaScript 中获取 hbs 变量的首选方法是什么?
目前我正在 运行 另一个 ajax 请求获取相同的数据。但我认为再次请求相同的数据是不明智的...
找到了解决方案,好像我只需要将 handlebars 变量放在一个字符串中就可以了。
为了将对象传递给变量,我创建了 hbs 助手:
hbs.registerHelper('json', function(context) {
return JSON.stringify(context);
});
在我看来:
var currentUser = JSON.parse('{{{json user}}}');
现在我可以在客户端 js 上访问数据了。
我正在使用 hbs 为 express js 框架生成把手视图,我需要从单独的 JavaScript 文件中访问我传递给视图的变量。
例如:
var foo = {{user.name}}
显然此代码会引发错误,但是在 JavaScript 中获取 hbs 变量的首选方法是什么?
目前我正在 运行 另一个 ajax 请求获取相同的数据。但我认为再次请求相同的数据是不明智的...
找到了解决方案,好像我只需要将 handlebars 变量放在一个字符串中就可以了。
为了将对象传递给变量,我创建了 hbs 助手:
hbs.registerHelper('json', function(context) {
return JSON.stringify(context);
});
在我看来:
var currentUser = JSON.parse('{{{json user}}}');
现在我可以在客户端 js 上访问数据了。