我最近一直在尝试掌握 nunjucks,我以前使用过车把,所以学习曲线并没有那么糟糕。但是,有一件事我似乎无法工作:
我有一个 JSON 文件,其中包含以下数据:
"contentIntro" : {
"componentClass" : "c-global-header",
"title" : "Welcome Firstname Surname,",
"subtitle" : "New applications:",
"bodyCopy" : "You can create, edit and save the draft application as many times as you need before submitting it for assessment.",
"ctaType" : "text",
"ctaText" : "View the list",
"ctaURL" : "#"
}
这存在于一个包含其他页面元素的 JSON 文件中,但它只是我感兴趣的 contentIntro 上下文。
如果我包括这样的部分:
{% include "components/c-headed-text.nunjucks" %}
然后我可以在该部分(例如)中使用点表示法访问 JSON 数据{{ contentIntro.title }}
,但这不是很灵活,并且它使我无法在页面上拥有多个相同的部分类型。
理想情况下,我想做的是像这样导入部分:
{% import "components/c-headed-text.nunjucks" as contentIntro %}
然后在模板中,我可以使用它访问 JSON 数据,{{ title }}
因为它已经知道导入的上下文。
恼人的是,虽然它不起作用,我不明白为什么。Jinja2 文档似乎暗示它会,但我无法使用 Nunjucks 让它工作,这甚至可能吗?
编辑:我还应该补充一点,模板是在 gulp 中预渲染的,所以最终结果只是平面 HTML。