2014-10-06 41 views
1

我想遍歷JSON對象數組,並使用下劃線和玉創建表 但我的玉模板扔我以下錯誤,我一直沒能找到任何資源來修理它。使用翡翠和下劃線創建表

Error: /home/kseguy/node_projects/prwrite/views/dashboard/index.jade:69 
    67|    script(type="text/template" ,id="data-table") 
    68|     <% _.each(article,function(article){ %> 
    > 69|      tr 
    70|      td <%= article.ProjectName %>        
    71|      td <%= article.Date %>        
    72|      td <%= article.Status %>        

unexpected token "indent" 
    at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:252:15) 
    at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25) 
    at Parser.tag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:816:24) 
    at Parser.parseTag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:737:17) 
    at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:211:21) 
    at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25) 
    at Parser.tag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:816:24) 
    at Parser.parseTag (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:737:17) 
    at Parser.parseExpr (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:211:21) 
    at Parser.block (/home/kseguy/node_projects/prwrite/node_modules/jade/lib/parser.js:707:25) 

我該如何調試該問題?我已經嘗試使用崇高文本將縮進轉換爲製表符和空格,但至今沒有成功。

這裏是我的玉模板

tbody  
      script(type="text/template" ,id="data-table") 
      <% _.each(article,function(article){ %> 
      tr 
       td <%= article.ProjectName %>        
       td <%= article.Date %>        
       td <%= article.Status %>        
       td <%= article.Url %> 
      <% }); %>  
+0

您必須像<..文本不存在那樣工作,所以tr應該與腳本具有相同的縮進級別。 – lossleader 2014-10-06 11:52:50

+0

對不起,我沒有看到腳本是一個模板,那麼<%行必須與tr相同。在任何一種情況下,任何東西都不能成爲「評論線」的孩子。 – lossleader 2014-10-06 12:34:49

回答

1

這並不因爲玉對待事物的工作開始<爲普通的文本。但是你必須小心,因爲他們不可能有孩子,所以他們下面的線條不能進一步縮進。

這裏是一個玉石測試與正常的意見,你可以接着用下劃線

// http://jsfiddle.net/smwpvngc/2/ 
<template> 
script 
    <!-- each --> 
    tr 
    td <!-- col1 --> 
    td <!-- col2 --> 
    td <!-- col3 --> 
    <!-- close each --> 
</template> 

輸出替換:

<script> 
<!-- each --> <tr><td><!-- col1 --></td><td><!-- col2 --></td> 
<td><!-- col3 --></td></tr><!-- close each --></script> 

如果我在TR之前添加額外的空間,我也得到一個縮進錯誤,因爲玉不知道如何填寫與兒童的原始條目。

+0

謝謝,起初有點難理解,但我現在明白了。 – Bazinga777 2014-10-08 07:08:54

+0

@ Bazinga777獨立圖層可以非常強大,但是如果你不需要獨立的階段,它會非常複雜。通常我只是使用每個模板一個模板格式,並像編譯任何其他函數一樣傳遞編譯好的模板。例如:http://jsfiddle.net/smwpvngc/3/ – lossleader 2014-10-08 17:42:11