将对象传递给车把后,如何在脚本标签中访问该对象?
After passing object to handlebars, how can I access that object in script tag?
我首先从 sql 获取数据,然后将其传递到把手中。
在 .handlebars/using view.js 的标签内,我想看医生,但我一直收到 [object][object]。我之前试过 json.stringifying 但还是不行。执行此操作的最佳方法是什么?
umd.matchDocs(val2, function(data) {
console.log(data);
var renderDocs = {
doctors: data
}
res.render("dashboard", renderDocs);
});
After passing object to handlebars, how can I access that object in script tag?
不,默认情况下没有。但如果需要,您可以手动使数据可用。
传递给 handlebars 渲染操作的数据仅在渲染操作期间可用。如果您希望以后能够在客户端 <script>
标记中访问其中的一些数据,那么您可以将 "render" Javascript 变量放入包含所需的 <script>
标记中数据.
请记住,将数据渲染到 Javascript 变量时,您需要渲染实际的 Javascript 文本(转换为 JSON 通常会为您创建文本)。
在您的具体示例中,您可以在渲染代码中执行类似的操作:
umd.matchDocs(val2, function(data) {
console.log(data);
var renderDocs = {
doctors: JSON.stringify(data)
}
res.render("dashboard", renderDocs);
});
然后在模板中:
<script>
var doctors = {{{doctors}}};
</script>
然后,您页面中的 Javascript 将可以使用该医生数组。
如果您没有看到如上所示的三重大括号,那是告诉 handlebars 跳过数据中的任何 HTML 转义(因为这不是 HTML)。
我首先从 sql 获取数据,然后将其传递到把手中。
在 .handlebars/using view.js 的标签内,我想看医生,但我一直收到 [object][object]。我之前试过 json.stringifying 但还是不行。执行此操作的最佳方法是什么?
umd.matchDocs(val2, function(data) {
console.log(data);
var renderDocs = {
doctors: data
}
res.render("dashboard", renderDocs);
});
After passing object to handlebars, how can I access that object in script tag?
不,默认情况下没有。但如果需要,您可以手动使数据可用。
传递给 handlebars 渲染操作的数据仅在渲染操作期间可用。如果您希望以后能够在客户端 <script>
标记中访问其中的一些数据,那么您可以将 "render" Javascript 变量放入包含所需的 <script>
标记中数据.
请记住,将数据渲染到 Javascript 变量时,您需要渲染实际的 Javascript 文本(转换为 JSON 通常会为您创建文本)。
在您的具体示例中,您可以在渲染代码中执行类似的操作:
umd.matchDocs(val2, function(data) {
console.log(data);
var renderDocs = {
doctors: JSON.stringify(data)
}
res.render("dashboard", renderDocs);
});
然后在模板中:
<script>
var doctors = {{{doctors}}};
</script>
然后,您页面中的 Javascript 将可以使用该医生数组。
如果您没有看到如上所示的三重大括号,那是告诉 handlebars 跳过数据中的任何 HTML 转义(因为这不是 HTML)。