2

在我的dustJS 模板中,我利用变量的组合将其用作新变量。例如,假设我有pnameand cname,那么我想创建name = pname + cname. 另外..我可能想根据特定条件创建局部变量,例如,name = {?.rep} pname {:else} pname + name {/.rep}。我可能想将这些变量传递给助手。

为了坚持 DRY 原则,最好的选择是创建局部变量,以便以后在它再次出现时可以引用这个局部变量。

我尝试了部分,例如:{<name}pname + cname{/name},然后将其用作{+name/}. 但是这种方式不适用于助手以及条件块。

我认为一种可能的解决方案可能是......使用助手将变量添加到当前上下文中,但我不知道该怎么做。

所以我的问题是:如何将变量添加到当前上下文中,或者如何动态定义局部变量?

谢谢你的帮助。

4

1 回答 1

1

来自dust-motes repo 的@provide helper应该可以帮助您解决这个问题。

如果由于某种原因@provide 助手对您不起作用,请查看dustjs-helpers repo 中建议的@addToContext助手。@addToContext 助手修改上下文,因此如果您不小心,它可能会使用相同的键覆盖上下文数据。@provide 助手优先于@addToContext。

于 2014-01-31T05:10:19.870 回答