我想知道是否可以将.length应用于Titlepane。例如,如果我在对象数组中有一个名称列表&我希望为每个名称创建一个标题窗格:
var html = '';
for (var i = 0; i < data.length; i++)
html += data[i].Name+'<br>';
targetNode.innerHTML = html;
此时循环将只显示列表中的所有名称。因此,是否可以为每个名称创建一个标题窗格。要作为内容放在里面的名字?
如果有人就我如何做到这一点有任何例子或建议,那就太棒了。
编辑:
var xhrArgs = {
url: "http://131.41.28.41:3000/pages.json",
handleAs: 'json',
timeout : 2000,
load: function(data){
for (var i = 0; i < data.length; i++) {
var titlePane = new TitlePane({
title: 'Title Pane ' + i,
content: '<div>' + data[i].Name + '</div>'
});
titlePane.placeAt(dom.byId('ok'));
}
},
error: function(error){
targetNode.innerHTML = "An unexpected error occurred: " + error;
}
};
// Call the asynchronous xhrGet
var deferred = dojo.xhr.get(xhrArgs);
});
});
答案 0 :(得分:0)
确实可以为数组中的每个对象创建一个新的标题窗格:
require(['dijit/TitlePane'],function(TitlePane){
for(var i=0; i<data.length;i++){
var titlePane = new TitlePane({
title: 'Title Pane '+i,
content:'<div>'+data[i].Name+'</div>'
});
titlePane.placeAt(/* dom node where all titlepanes should be placed */);
}
});
有关dijit TitlePane的更多信息,请查看reference guide。
可以找到这个概念的工作jsfiddle here。