我正在创建一个在 Html 中定义的 Dijit 模板化自定义小部件,如下所示:
<div data-dojo-type="widgets/Test">Bla bla bla</div>
这被替换为模板。出于本示例的目的,假设它是一个简单的 div:
<div></div>
现在我有一个问题。我似乎找不到在小部件中获取此“Bla bla bla”(换句话说,初始的 innerHTML)的方法,我需要它。
有任何想法吗?
如果您希望在解析小部件时修改小部件的模板,您可以覆盖小部件的markupFactory函数。您可以在 CustomWidget.js 文件中执行此操作,如下所示:
var CustomWidget = declare('path/to/CustomWidget', [], {
// Widget code here.
});
CustomWidget.markupFactory = function(props, node, clazz) {
// Modify the props defined in data-dojo-props.
// Modify the node that your widget is declared in.
// Don't forget to actually return the instance of your custom Widget!
return new clazz(props, node);
}