2
我想定义自定义小部件,在里面创建一个Dijit/form/Button并为其添加附加点。但由于某种原因,附加点仍然隐形。以编程方式定义附加点
postCreate: function() {
require(["dijit/form/Button", "dojo/dom", "dojo/domReady!"], function(Button, dom){
// Create a button programmatically:
var myButton = new Button({
label: "Click me!",
"data-dojo-attach-point": "myButton"
}, "progButtonNode").startup();
});
console.debug(this.myButton); // returns undefined
}
这看起来很合理。你能解释一下吗? parser.parse()是否必须在某个时候被调用? – Oleg 2014-10-31 10:06:48
这是一个棘手的使用'parser.parse()'将是可能的,如果页面从未被传递,否则你会得到一个“已经注册”的错误,或者你只能通过添加'rootNode'解析你添加的节点,属性给解析器。我是如何做一个按钮的小部件。小部件的模板将定义一个带有附加点的按钮。这样,只要你需要一个按钮,你就可以动态创建一个并附加它。你可以从'widgetinstance.attachpoint'访问它。希望这可以帮助 – shakirthow 2014-10-31 18:05:26
太棒了!感谢您的解释。 – Oleg 2014-11-02 14:30:33