2017-10-16 90 views
1

我有这个真正愚蠢的疑问。在下面的代码中,我创建了一个容器类的对象,并使用该方法调用方法getAllNodes()。因此,我尝试创建一个obj为domConstruct的注释行。但我得到“domConstruct不是构造函数”错误。我已经通过dom-construct.js文件,没有构造函数。有人还可以解释dojo中的类结构出于同样的dojo中的domConstruct是一个抽象类

<body> 
    <div id="cont"> 
    <p id="nodeone">one</p> 
    <p id="nodetwo">two</p> 
    </div> 

    <script type="text/javascript"> 
    require(["dojo/dom","dojo/dom-construct","dojo/on","dojo/mouse","dojo/dnd/Container","dojo/domReady!"],function(dom,domConstruct){ 

     domConstruct.create("p",{innerHTML : "1.5"},"nodeone","after"); 

     //var obj = new domConstruct('nodeone'); 
     //obj.create("p",{innerHTML : "1.5"},"nodeone","after"); 

     var contObj = new Container("cont"); 
     cont.getAllNodes(); 

    } 


); 
    </script> 

</body> 

回答

2

dojo/dom-construct是一个简单的模块定义一个DOM效用函数提供的资源,所以你未做实例访问这些直接domConstruct回调引用。

为什么?

已经表示这是一个模块(定义)。另外,在dojo中,为了创建一个类,您必须使用dojo/_base/declare,以便您的模块将继承构造方法。所以这里的dojo/dom-construct是一个简单的模块,并且不使用声明模块

你应该直接使用每个dojo/dom-construct函数而不需要实例化。