2011-08-28 84 views
0

你好我試圖使用一些內置的函數在玉里面的函數,但我得到一個錯誤。 下面是代碼:javascript in jade

- each post in posts 
      li(class: 'user-') #{post.created} #{post.body} #{post.title} #{post.tags} #{post._id} 
      - var tags = post.tags 
      - tags.split(' ') 
      - each tag in tags  
      li(class : 'tags') #{tags.tag} 

我得到的錯誤:Object tag1,,,,,,,,tag2 has no method 'split'

+0

標籤是一個名爲posts – rabidmachine9

+0

的數組中的字符串,嘗試' - console.log(typeof標籤)'。它在命令行中輸出了什麼? – Seth

回答

1

看起來你混合製表符和空格。 Jade.js強烈遵循2空間約定,並且標籤會擾亂解析器。刪除標籤一切正常適合我。

- each post in posts 
    li(class: 'user-') #{post.created} #{post.body} #{post.title} #{post.tags} #{post._id} 
    - var tags = post.tags.split(' ') 
    - each tag in tags 
    li(class : 'tags') #{tags.tag} 

而Javascript呈現.jade文件。

var jade = require('jade'); 

var options = { 
    locals: { 
     posts:[{ 
       created:'today', 
       tags:'1 2 3' 
      }]  
    } 
}; 

jade.renderFile(__dirname + '/each.jade', options, function(err, html){ 
    if (err) throw err; 
    console.log(html); 
}); 

只要確保你將一個tags變量傳遞給局部變量。