2017-10-16 91 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函數而不需要實例化。