2014-09-30 82 views
0

我需要写一些JavaScript代码在我玉模板,但不脚本标签中缠绕:如何在jade中编写javascript块?

body 
    container 
     p 
      - var obj = { 
      - "price": 100, 
      - "qty: 3 
      -}; 

      - var result = obj.price * obj.qty; 

      Result is: !{result}. 

在上面的代码我做了一些计算和输出结果。所有工作正常,但看起来很丑,由于多个-。玉是否支持一些块来写javascript而不使用多个-

回答

2

玉目前不支持将多行unbuffered code串在一起。每个-后应该有一个完整的声明。

obj将在一个被初始化:

p 
    - var obj = { price: 100, qty: 3 }; 

或在多条语句设置:

p 
    - var obj = {}; 
    - obj.price = 100; 
    - obj.qty = 3; 

或者定义为 “本地人”,以渲染:

var jade = require('jade'); 

var html = jade.renderFile(__dirname + '/template.jade', { 
    obj: { 
     price: 100, 
     qty: 3 
    } 
}); 
p Result is: #{obj.price * obj.qty). 

还要注意的是Result ...需要一个|前缀来表示它作为一个line of text,当它在它自己的路线。

p 
    | Result is #{result} 
+0

感谢您的完整答案。你知道关于在玉石中添加这个功能的计划吗? – Erik 2014-09-30 04:55:45