检测到无限循环,之前加载了部分 ../foo.mustache

infinite loop detected, partial ../foo.mustache was previously loaded

您好,我有两个车把模板,如下所示。

foo.mustache

{{#if hasProperties}}
    {{>bar}}
{{/if}}{{^hasProperties}}{{propsName}}{{/hasProperties}}

bar.mustache

{{#propertyObject}}{{>foo}}{{/propertyObject}}

当我编译它和 运行 时,出现以下错误。

infinite loop detected, partial '/templates/foo.mustache' was previously loaded

解决这个问题的正确方法是什么?

我已找到解决此问题的方法。这与模板本身无关。 mustache 文件的顺序正确,但在小胡子 java 实现中有一个 property,其中 default 值设置为 false

public void setInfiniteLoops(boolean infiniteLoops) link

此方法实际上将设置为接受无限循环,如果您 运行 在 mustache 模板本身内部进行递归调用,则需要此方法。

我希望这对任何想解决类似错误的人有所帮助。