Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 道场:关于';类扩展';?_Javascript_Dojo_Extend - Fatal编程技术网

Javascript 道场:关于';类扩展';?

Javascript 道场:关于';类扩展';?,javascript,dojo,extend,Javascript,Dojo,Extend,我想让一个新的小部件javascript类[Label]看起来像dijit.button。 因此,我查看了dijit按钮的源代码,并尝试复制它 它以declare开始,我使用dijit.form.\u FormWidget作为超类 但当我在网页上运行它时,它不起作用,我在Firefox中使用Firebug进行调试,它返回“this.containerNode为null” 我不知道如何设置containerNode参数 有谁能回答我,是什么问题导致了这种情况的发生 另外,我对javascript有

我想让一个新的小部件javascript类[Label]看起来像dijit.button。 因此,我查看了dijit按钮的源代码,并尝试复制它

它以declare开始,我使用dijit.form.\u FormWidget作为超类

但当我在网页上运行它时,它不起作用,我在Firefox中使用Firebug进行调试,它返回“this.containerNode为null”

我不知道如何设置containerNode参数

有谁能回答我,是什么问题导致了这种情况的发生


另外,我对javascript有点陌生。

一个简单的dijit供您参考。JavaScript:

dojo.declare("com.example.Label", [dijit._Widget, dijit._Templated], {
    templateString: dojo.cache("com.example", "templates/Label.html"),
    value : ""
});
HTML模板:

<div><span>${value}</span></div>

嗯,你能给我看看代码吗?dijit.form.Button在其模板文件(templates/Button.html)中设置containerNode。您是否为小部件使用模板文件?如果没有,您必须在小部件的
buildRendering
方法中构建HTML(包括设置containerNode)。您是经验丰富的Dojo开发人员吗?您所尝试的并不是微不足道的,您需要了解Dojo是如何工作的,然后才能进行操作。否则,很容易引入您永远无法发现的细微错误。
var label = new com.example.Label({value : "Hello"});