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

时间:2018-08-06 15:09:22

标签: node.js handlebars.js

我首先从sql获取数据,然后将其传递到车把。

在.handlebars /中使用view.js的标签内,我想访问医生,但是我一直在获取[object] [object]。我之前尝试过json.stringification它,但还是没有运气。最好的方法是什么?

umd.matchDocs(val2, function(data) {
  console.log(data);
  var renderDocs = {
    doctors: data
  }
  res.render("dashboard", renderDocs);
});

1 个答案:

答案 0 :(得分:2)

  

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

否,默认情况下不是。但是您可以根据需要手动提供数据。

传递给车把渲染操作的数据仅在渲染操作期间可用。如果希望以后可以在客户端<script>标签中访问某些数据,则可以将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将可以使用这一系列医生。

如果您没有看到如上所示的三括号,那就是告诉车把跳过数据中的任何HTML转义(因为这不是HTML)。