如何将对象传递给.handlebar模板并在javascript代码块中使用它?

如何将对象传递给.handlebar模板并在javascript代码块中使用它?,javascript,node.js,handlebars.js,express-handlebars,Javascript,Node.js,Handlebars.js,Express Handlebars,server.js: app.get('/home', function (req, res) { data['one'] = "first"; data['two'] = "secound"; res.render('home', { data }); }); home.Handlebar: <script type="text/javascript"> var data

server.js:

app.get('/home', function (req, res) {
      data['one'] = "first";
      data['two'] = "secound";
      res.render('home', { data });
});
home.Handlebar:

<script type="text/javascript">
      var data = { {{{data}}} };
      console.log(data.one);
</script>

var data={{{{{data}}};
console.log(data.one);
浏览器控制台错误:
计算属性名称中的未捕获语法错误:缺少]


如何在脚本代码块中传递对象以在.handlebar模板中使用它?

我认为有几件事需要检查,以便找到解决方案

首先,我们必须理解三胡子标签在车把中的含义。默认情况下,车把将显示其输出。这是预防疾病的最佳做法。这意味着通过输入
{data:“你好,世界!

”}
,车把模板
{{data}}
将输出:

&lt;p&gt;Hello, World!&lt;/p&gt;
在某些情况下,我们不希望Handlebar对其输出进行HTML转义,为此Handlebar提供了,它将输出未转义的HTML。对于上述相同的输入和模板,输出为:

<p>Hello, World!</p>
我们的模板变成:

<script type="text/javascript">
    var data = {{{ data }}};
    console.log(data.one);
</script>

var data={{{data}}};
console.log(data.one);

您仍然必须对输出进行html转义,即使
标记中的规则略有不同
<script type="text/javascript">
    var data = {{{ data }}};
    console.log(data.one);
</script>