如何理解=!{JSON.stringify(data)}语法

时间:2019-02-17 19:39:11

标签: javascript handlebars.js

有人能帮助我这小段代码在JavaScript中做什么吗? 实际上,我是从快递服务器以Json形式获取数据的,当我渲染页面时,我想在客户端JavaScript中访问该数据,而该解决方案是从Stack Overflow(Accessing Express.js local variables in client side JavaScript)中的另一个问题得到的,但是我是无法理解这种语法。

var local_data =!{JSON.stringify(data)};

我正在尝试解释这一点,但无法理解。我正在使用把手作为模板引擎。

1 个答案:

答案 0 :(得分:4)

从代码中获取代码的问题表明该代码是Jade模板的一部分。我到处搜索了这行确切的代码行,发现它引用了herehere,它们都还引用了Jade。

换句话说,这不是有效的JavaScript,但有效的Jade。在这种情况下,!{...}是Jade对unescaped string interpolation的语法。

Handlebars.js中的等效项是{{{...}}},因此请尝试以下操作:

var local_data = {{{JSON.stringify(data)}}};