6

当我从 node.js 预编译并公开 JS 模板文件时,我可以为 nunjucks 使用客户端模板。我这样称呼客户端模板:

nunjucks.render('partials/some-template.html', { abc: 123 })

并得到一个字符串。

我怎么能像我试过的那样调用宏,但我做错了。宏首先在页面上根据 node.js 声明,然后连续调用,例如在 Node.js 中:

{% include 'macros/checkbox.html' %}
...
{{ checkbox('you cool?', 'cool', false) }}
{{ checkbox('you collected?', 'collected', false) }}

但不确定如何获取宏然后在客户端一次又一次地调用它。到目前为止,我确实努力在控制台中进行检查,但没有运气。

4

1 回答 1

3

当我想在客户端渲染一个宏时,我使用nunjucks.renderString方法来导入包含宏的文件,然后调用它——一次完成。我的用例是将宏渲染为 HTML,然后使用 Javascript 将其添加到页面中。一个示例用例是:

var renderString = "{% import 'packageForms.html' as forms %} \n";
renderString = renderString + '{{ form.packageForm("task") }}';
var renderedHTML = nunjucks.renderString(renderString);
$('#page').append(renderedHTML)
于 2015-07-14T22:24:11.163 回答