Javascript Nunjucks 中的函数
Javascript function in Nunjucks
所以我在 Nunjucks 文档中找到了这个:
函数调用
如果您已将 javascript 方法传递给您的模板,您可以正常调用它。
{{ foo(1, 2, 3) }}
但我似乎无法正常工作,我尝试将我的函数放在 html 页面的 <script>
标签中,但它不起作用。
我也试过将它与数据一起传递给渲染函数:
{
stuff: function (string, length) {
while (string < length) {
string = "0" + string
}
}
}
然后我得到:无法调用 data["stuff"], which is undefined of falsey
您可以使用 addGlobal
(参见 g
)或传递函数进行渲染(参见 f
)。
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
function f (s) {
return s + s;
}
function g (s) {
return s + s + s;
}
env.addGlobal('g', g);
var res = nunjucks.renderString('{{f("OK")}} {{g("ok")}}', {f: f});
console.log(res);
//Output: OKOK okokok
所以我在 Nunjucks 文档中找到了这个:
函数调用
如果您已将 javascript 方法传递给您的模板,您可以正常调用它。
{{ foo(1, 2, 3) }}
但我似乎无法正常工作,我尝试将我的函数放在 html 页面的 <script>
标签中,但它不起作用。
我也试过将它与数据一起传递给渲染函数:
{
stuff: function (string, length) {
while (string < length) {
string = "0" + string
}
}
}
然后我得到:无法调用 data["stuff"], which is undefined of falsey
您可以使用 addGlobal
(参见 g
)或传递函数进行渲染(参见 f
)。
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
function f (s) {
return s + s;
}
function g (s) {
return s + s + s;
}
env.addGlobal('g', g);
var res = nunjucks.renderString('{{f("OK")}} {{g("ok")}}', {f: f});
console.log(res);
//Output: OKOK okokok