我有一个非常愚蠢的疑问。在下面的代码中,我为容器类创建了一个对象,并调用了方法getAllNodes所以我尝试用同样的方法在注解行中为domConstruct创建一个obj,但是我得到了“domConstruct is not a constructor”的错误,我已经检查了dom-construct.js文件,这里没有构造函数。有人能解释一下dojo中的类结构并提供资源吗
<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>
1条答案
按热度按时间6yoyoihd1#
dojo/dom-construct
是一个简单的模块,它定义了一个dom实用函数,因此您可以通过domConstruct回调引用直接访问这些函数,而无需进行示例化。为什么?
已经说过这是一个模块(定义)。而且,在dojo中,你必须使用
dojo/_base/declare
来创建一个类,这样你的模块才能继承构造函数方法。所以这里的dojo/dom-construct
是一个简单的模块,没有使用declare模块您应该直接使用每个
dojo/dom-construct
函数,而无需示例化。