JADE 中的乘法
Multiplication in JADE
如果可能的话,最好在 Jade 中乘以两个字段。这是我要实现的目标:
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
//td #{item.quantity} * #{item.price}
// - var totals = {item.price} * {item.quantity};
//td #{totals}
td #{item.quantity} * #{item.price}
尝试了不同的方法,目前没有一个有效。
您可以将乘法函数定义为 jade locals 的一部分。如果您使用的是 express,则可以使用 app.locals
在您的整个应用程序中使用它,如下所示:
app.js:
app.locals.multiply = function(a, b) {
return a * b;
};
翡翠模板
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
//td #{item.quantity} * #{item.price}
// - var totals = {item.price} * {item.quantity};
//td #{totals}
td #{multiply(item.quantity, item.price)}
或仅使用玉石:
var helpers = {
multiply: function(a, b) {
return a * b;
}
}
var fn = jade.compile('string of jade', options);
var html = fn(_.extend(yourModel, helpers));
不,您可能不应该在模板中放置这么多逻辑。计算总数等任务可能属于模型对象。这样做允许您在其他视图中重用它并针对它编写单元测试。
我相信这就是您要找的:
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
td.text-right= item.quantity*item.price
// - var totalPrice = item.quantity*item.price
// td.text-right #{totalPrice}
// td.text-right #{item.quantity * item.price}
// All three of the above methods work to do what you want to do
有两种方法可以将 javascript 包含到您的 jade 模板中,如 here 所述。
如果可能的话,最好在 Jade 中乘以两个字段。这是我要实现的目标:
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
//td #{item.quantity} * #{item.price}
// - var totals = {item.price} * {item.quantity};
//td #{totals}
td #{item.quantity} * #{item.price}
尝试了不同的方法,目前没有一个有效。
您可以将乘法函数定义为 jade locals 的一部分。如果您使用的是 express,则可以使用 app.locals
在您的整个应用程序中使用它,如下所示:
app.js:
app.locals.multiply = function(a, b) {
return a * b;
};
翡翠模板
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
//td #{item.quantity} * #{item.price}
// - var totals = {item.price} * {item.quantity};
//td #{totals}
td #{multiply(item.quantity, item.price)}
或仅使用玉石:
var helpers = {
multiply: function(a, b) {
return a * b;
}
}
var fn = jade.compile('string of jade', options);
var html = fn(_.extend(yourModel, helpers));
不,您可能不应该在模板中放置这么多逻辑。计算总数等任务可能属于模型对象。这样做允许您在其他视图中重用它并针对它编写单元测试。
我相信这就是您要找的:
tbody
each item in items
tr
td #{item.sku}
td.text-center #{item.price}
td.text-center #{item.quantity}
td.text-right= item.quantity*item.price
// - var totalPrice = item.quantity*item.price
// td.text-right #{totalPrice}
// td.text-right #{item.quantity * item.price}
// All three of the above methods work to do what you want to do
有两种方法可以将 javascript 包含到您的 jade 模板中,如 here 所述。