dojo.data.ItemFileWriteStore是一个读文件的类,但是可以设置他的data属性效果是一样的
//这个是仿的data数据 var itemsArr = [{ id : '0',name : '李英夫',department : 'w3',root : true,level : 1,children : [{_reference: '1'},{_reference: '2'},{_reference: '3'}] },{ id : '1',name : '类别1',department : '部门甲',level : 2,children : [{_reference: '4'},{_reference: '5'}] },{ id : '4',name : '路人乙',department : '部门乙',level : 3 },{ id : '5',name : '路人丙',department : '部门丙',level : 3 },{ id : '2',name : '路人丁',department : '部门丁',{ id : '3',name : '路人戊',department : '部门戊',level : 3 }]; //将数据变成字符串 var treeData = function(items){ this._identifier = 'id'; this._label = 'name'; this._items = items; this.getData = function(){ var s = "{"; s += "identifier:'" + this._identifier + "',"; s += "label:'" + this._label + "',"; s += "items:["; for(var i = 0,len = this._items.length; i < len; i++){ s += "{id:'" + this._items[i].id + "',"; s += "name:'" + this._items[i].name + "',"; s += "department:'" + this._items[i].department + "',"; s += "level:" + this._items[i].level + ""; if(!!this._items[i].children){ s += ",children : ["; var cs = this._items[i].children; for(var j = 0,jLen = cs.length; j < jLen; j++){ s += "{_reference:'" + cs[j]._reference + (j == (jLen-1) ? "'}]" : "'},"); } } s += (i == (len-1) ? "}" : "},"); } s += "]}"; return s; }; } //添加到dojo.data.ItemFileWriteStore所声明的标签中. document.getElementById("treeDemo").setAttribute("data",new treeData(itemsArr).getData());