最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Using !{ } and #{ } interpolation in a jade template (exclamation-object, hash-object) - Stack Overflow

programmeradmin1浏览0评论

In a jade template (using express over node.js), I see a template using the following syntax:

script(type='text/template', id='data-services') !{data}

I don't understand the !{ } construct; apparently it interpolates a javascript object defined elsewhere as:

var data={ name:"Doe", age:"21" };

Jade docs & tuts show the use of #{ } for interpolation, but I don't see !{ }. Even #{ } is not documented, so I think it's not jade-specific. Where does this syntax come from and where is it documented?

In a jade template (using express over node.js), I see a template using the following syntax:

script(type='text/template', id='data-services') !{data}

I don't understand the !{ } construct; apparently it interpolates a javascript object defined elsewhere as:

var data={ name:"Doe", age:"21" };

Jade docs & tuts show the use of #{ } for interpolation, but I don't see !{ }. Even #{ } is not documented, so I think it's not jade-specific. Where does this syntax come from and where is it documented?

Share Improve this question edited Feb 4, 2014 at 16:22 grebneke 4,49418 silver badges24 bronze badges asked Feb 4, 2014 at 16:17 user3271541user3271541 1511 silver badge3 bronze badges 2
  • 1 Good question. Quite annoying that jade-lang.com doesn't even explain this! – Kokodoko Commented Dec 17, 2015 at 12:16
  • It's in the pug documentation now: pugjs.org/language/… – Suzana Commented Feb 12, 2019 at 12:14
Add a comment  | 

1 Answer 1

Reset to default 22

Quite difficult to find it, indeed. Have a look at this resource:

http://naltatis.github.io/jade-syntax-docs/#escaping

# is used when you want to escape data and ! when you want it raw.

For example let's say that name = "Hello <em>World</em>". Then you have:

#{name} --> Hello &lt;em&gt;World&lt;/em&gt;
!{name} --> Hello <em>World</em>

Think about it like that: # will display name as it is written while ! will treat it as HTML.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论