2012-11-21 62 views
5

我使用node.js和express.js來呈現index.jade頁面,其中包含幾個腳本塊,其中包含要通過主幹和下劃線使用的模板。我面臨的問題是,由於模板中包含了<%=%>樣式變量,所以Jade渲染失敗。下面的代碼片段會導致語法錯誤:防止腳本模板的Jade插入

script#tpl-things-list-item(type='text/template') 
    td 
    a(href=<%= _id %>) link text 
    td <%= name %> 
    td <%= age %> 

請注意,這只是一個問題,當我使用href值中的變量,如果我刪除整個HREF,這段代碼工作得很好。有沒有辦法解決這個問題?我想繼續使用Jade來定義模板,因爲它非常簡潔,但這是一個展示限制。

+0

我也弄不清楚。奇怪。 –

回答

3

明白了。

!!! 5 
html(lang='en') 
    head 
     title= title 
    body 
     h1= "Hello World!" 
     script#tpl-things-list-item(type='text/template') 
      td 
       a(href!="<%= _id %>") link text 
      td <%= name %> 
      td <%= age %> 
+0

什麼是「!」在href調用的「=」之前呢? – nickbona

+0

它爲我生成'未轉義的可執行代碼'https://github.com/visionmedia/jade#readme –

+0

,這會打印文字字符串,例如'href!=「<%= _id %>」'而不是'href =「123」'。有什麼建議麼?我的完整腳本是:\t'script(type ='text/template') a(href!=「<%= _id%>」)<%= _id%>' – emilebaizel