2013-05-09 122 views
0

我有这样的玉snippt:如何将复杂的对象数组传递给Jade模板?

div.comment_list 
    - var clist = comment_list 
    each comment in clist 
     div.comment 
      div.comment_detail 
       span.commentator comment.commentator 
       span.comment_time comment.comment_time 
       span.comment_content comment.comment_content 

comment_list是我进入玉模板。

的问题是: 每个数组元素comment由复合对象,因为您看见其中,, 具有commentatorcomment_time,和comment_content

然而,玉不能识别这个事实,它只是输出:comment.commentatorcomment.comment_time,comment.comment_content vebatim。

那么如何解决这个问题呢?

回答

4

你不需要- var一切无论是。例如。

div.comment_list 
    each comment in comment_list 
     div.comment_detail 
      span.commentator #{comment.commentator} 
      span.comment_time #{comment.comment_time} 
      span.comment_content #{comment.comment_content} 

如果您要输出单个变量,则不需要#{}包装。只有当你在那里混合纯文本时才需要它。

div.comment_list 
    each comment in comment_list 
     div.comment_detail 
      span.commentator= comment.commentator 
      span.comment_time= comment.comment_time 
      span.comment_content= comment.comment_content 

而且div的是多余的 - 你可以简单地我们.class#id或两者兼而有之。显然,如果你没有设置课程或ID,你需要在那里有div这个词。

.comment_list 
    each comment in comment_list 
     .comment_detail 
      span.commentator= comment.commentator 
      span.comment_time= comment.comment_time 
      span.comment_content= comment.comment_content 
+0

谢谢!好答案! – larmbr 2013-05-11 02:45:00

-1

我已经想通了。

让代码来说话:

div.comment_list 
    - var clist = comment_list 
    each comment in clist 
     - var commentator = comment.commentator 
     - var comment_time = comment.comment_time 
     - var comment_content = comment.comment_content 
     div.comment_detail 
      span.commentator #{commentator} 
      span.comment_time #{comment_time} 
      span.comment_content #{comment_content} 
相关问题