如何在玉器中编写javascript块?

时间:2014-09-30 03:55:01

标签: javascript node.js templates pug

我需要在我的jade模板中编写一些javascript代码,但不要在script标签中包装:

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

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

          Result is: !{result}.

在上面的代码中,我做了一些计算和输出结果。一切正常但由于多个-看起来很难看。 jade是否支持一些块来编写javascript而不使用多个-

1 个答案:

答案 0 :(得分:2)

Jade目前不支持将多行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 ...需要|前缀才能将p | Result is #{result} 表示为line of text

{{1}}