所以我有一个像这样的对象{“templateName”:“myTemplate”,“data”:{“one”:1}}
这是我的模板:
{templateName}
{>"{templateName}":data/}
这不会呈现(没有错误消息)...但是,当我将其更改为此时它会起作用:
{templateName}
{>"myTemplate":data/}
它在视图中呈现如下:
myTemplate
[then here it shows myTemplate, rendered with data passed to it]
它呈现完美,甚至在顶部显示正确的模板名称。我认为把钥匙放在引号上会有效,但我想我误读了尘埃指南。我怎么能做到这一点?
答案 0 :(得分:2)
经过一番挖掘,我相信我已经找到了问题。通过使用语法{>"{templateName}":data/}
,您将上下文从root
更改为data
。发生这种情况时,当Dust尝试解析模板名称时,将无法再访问templateName
。因此,Dust最终会搜索名为""
的模板。我已经为此错误提交了issue。
话虽如此,如果我要写一本名为“尘埃:好的部分”的书,我会抛弃它的背景(例如{#myData:myContext}
)。我发现他们造成的问题多于他们解决的问题。
作为解决方法,您可以使用以下语法:
{templateName}
{>"{templateName}"/}
然后你的“myTemplate”需要做类似的事情:
{data.one}
这是example的工作原理。