正在研究一个非常复杂的Jekyll项目,我很难理解继承如何为包含的参数工作。结构是这样的:
档案我正在处理:
{% include test.html param='foo' %}
的test.html:
TEST {{ include.param }}
{% include test2.html %}
{% include test3.html param2='woo' %}
test2.html:
TEST 2 {{ include.param }}
test3.html:
TEST 3 {{ include.param }} {{ include.param2 }}
输出为:TEST foo TEST 2 foo TEST 3 woo
有时打印{{ include.param }}
,有时不打印。这是为什么?
答案 0 :(得分:0)
如果在模板中添加不带参数的include,它将继承其父级的所有参数。
但是,如果您向子包含添加单个参数,即使它与您尝试调用的参数不同,则会为后续子项重置包含变量。
在这种情况下你仍然可以传递params,做这样的事情:
{% include test3.html param=include.param param2='woo' %}