关于Dojo中的变量替换
可变替代: 模板可以在DOM渲染上设置值 虽然使用了一个简单的变量占位符语法,看起来如此 像这样:
$ {属性}
根据文件
仅建议对值使用模板中的变量替换 在小部件的生命周期内不会更改。其他 单词,如果您希望能够在a中设置属性的值 我们以编程方式在您的应用程序的生命周期中使用widget 建议使用您的小部件的postCreate方法来设置任何 变量以编程方式通过widget的set()方法。
有人可以解释为何提出此建议吗?
答案 0 :(得分:1)
Dojo中的变量替换没有绑定。 这意味着即使您更改变量的实际值也不会改变。
如果需要绑定,则可以为该值使用附加点和设置器。然后它将具有绑定,UI将使用新值进行更新。 像这样:
_setLabelAttr : {
node : "_tplLabelNode",
type : "innerHTML"
},
将附加点innerHTML
的{{1}}绑定到小部件的“label”属性。
因此_tplLabelNode
将更新用户界面。
但是widget.set('label', 'foo');
没有绑定。 <div>${label}</div>
将在创建窗口小部件时被替换,并且永远不会更新