将对象传递给车把后,如何在脚本标签中访问该对象?

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)。