在我的dustJS模板中,我使用变量的组合将其用作新变量。
例如,假设我有pname
和cname
,那么我想创建name = pname + cname
。
另外..我可能想根据特定条件创建局部变量,例如name = {?.rep} pname {:else} pname + name {/.rep}
。我可能想将这些变量传递给帮手。
要坚持DRY原则,最好的选择是创建local,以便稍后再次出现时可以引用此局部变量。
我尝试了部分内容,例如:{<name}pname + cname{/name}
,稍后将其用作{+name/}
。但这种方式不适用于助手,也不适用于条件块。
我认为一种可能的解决方案可能是......使用助手将变量添加到当前上下文中,但我不知道该怎么做。
所以我的问题是:如何将变量添加到当前上下文中,或者如何动态定义局部变量?
感谢您的帮助。
答案 0 :(得分:1)
如果出于某些原因@provide helper不适合你,请查看dustjs-helpers repo中建议的@addToContext帮助器。@ addToContext helper修改上下文,所以如果你不小心它可能会覆盖上下文具有相同键的数据。 @provide helper比@addToContext更受欢迎。