我是Dojo的新手,似乎無法找到適當的文檔或示例來說明如何完成我正在嘗試完成的任務。我正在創建一個決策樹樣式文件,動態地向現有元素添加新選項。代碼應該在特定DIV的末尾添加一個新節點。爲此,它必須找到名爲branchID的元素的value屬性。然後它將該值增加1,並向頁面添加新的HTML。在jQuery中,我會用這個Dojo - 在其他Dojo函數中使用getAttr
$('#btnAddFork').click(function(){
var branchID = $('#branchID').attr('value');
var newNodeHTML = "<div class='node'>new node #" + (++n) + "</div>';
$('div#NodeDIV').append(newForkHTML);
});
這個代碼在概念的我之前創建的需求的變化強迫我使用不同框架的證明。我正在Dojo嘗試以下操作:
require(["dojo/dom-construct", "dojo/dom", "dojo/dom-attr", "dojo/on", "dojo/domReady!"],
function(domConstruct, dom, on){
on(dom.byId("btnAddFork"), "click", function(){
var n = domAttr.get("branchID", "value");
domConstruct.place("<div class='node'>new node #" + (++n) + "</div>", "NodeDIV");
});
});
Dojo代碼正在死於我試圖爲n賦值的行。錯誤消息是「TypeError:對象不是函數」。錯誤消息並未指出我尋找解決方案的正確方向。我確信這是我使用domAttr.get函數獲取值的方式,但我似乎無法找到使其按照我期望的方式工作的方式。 Dojo如何處理這樣的事情?如果有人能夠指出如何/爲什麼需要按照它的方式編寫解決方案,那麼這將非常有幫助。