Има ли начин да се използва нефрит mixin вътре JavaScript code block?
Имам следващ случай на употреба:
mixin YYYYMMDD(date)
= date.getFullYear() + "-"
= ("0" + (date.getMonth() + 1)).slice(-2) + "-"
= ("0" + date.getDate()).slice(-2)
Така че трябва да използвам този миксин вътре
input(
value=YYYYMMDD(date)
)
Update: Трябваше да преработя тези миксини в js функции, така че изглежда подобно на следното:
- function YYYYMMDD(date)
- var flDate = date.getFullYear() + "-";
- flDate += ("0" + (date.getMonth() + 1)).slice(-2) + "-";
- flDate += ("0" + date.getDate()).slice(-2);
- return flDate;
Отговори:
2 за отговор № 1най-лесният начин е да напишете този код на вашия сървър, след което можете да използвате и друг синтаксис, например coffeescript или дори по-добре в този случай, някои библиотеки като момент
Когато визуализирате шаблона си, просто добавяте помощен обект към местните си потребители:
var moment = require("moment");
var YYYYMMDD = function(date) {
return moment(date).format("YYYYMMDD");
}
// express code
app.get("/test", function(req, res, next) {
var locals = getLocalsForTest();
locals.helpers = {
YYYYMMDD: YYYYMMDD
};
res.render("template.jade", {locals: locals});
});
и в шаблона си можете просто да го наречете
input(value=helpers.YYYYMMDD(date))