2011-08-28 43 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变量传递给局部变量。