所以我在这里添加了简单的脚本标记这个脚本。
var env = new nunjucks.Environment();
// async filters must be known at compile-time
env.addFilter('asyncFilter', function(val, cb) {
// do something
return "test"
}, true);
在我的模板中,我有
{{ item.opendays | asyncFilter }}
我在Chrome控制台中收到的错误:
Uncaught Template render error: (node/yummy/www/js/templates/restaurant.overview.html)
Error: filter not found: asyncFilter
可能是非常简单的事情,但我无法让它发挥作用。
以下是我用于渲染的代码:
items = nunjucks.render(Config.rootPath + 'js/templates/restaurant.overview.html', {items: data});
答案 0 :(得分:13)
如果您使用configure,则会返回您应添加过滤器的环境:
var env = nunjucks.configure('views');
// async filters must be known at compile-time
env.addFilter('asyncFilter', function(val, cb) {
// do something
return "test"
}, true);
然后您可以继续使用nunjucks.render()
。
答案 1 :(得分:4)
您没有使用刚创建和设置的环境。
items = env.render(Config.rootPath + 'js/templates/restaurant.overview.html', {
items: data
});
即env.render()
而不是nunjucks.render()
。