论坛首页 Web前端技术论坛

一个难解的问题

浏览 2503 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-26  
   我需要通过服务端的JSON生成EXT的Tree,EXT Tree的JSON数据结构如下所示:
new Ext.tree.TreePanel({
    id:'favorite-tree',
    border:false,
    loader: new Tree.TreeLoader({<----①
           dataUrl:'loadData.do?act=getChildren&node=2222'				}),					                    		rootVisible:false,					
         lines:true,
	root: new Ext.tree.AsyncTreeNode({  <----②
               text: 'ddd',
               draggable:false,
               id:'source',
	      children:[								               {                                           
	                 leaf : true,   
	                 text:'bbb',   
	                 href: "javascript:showTab('menu1','aaa', 'config.spr')"  
	               },
                        {                                           
	                 leaf : true,   
	                 text:'bbb',   
	                 href: "javascript:showTab('menu1','aaa', 'config.spr')"  
	               }
                         ]})
      });


    我们知道使用JSON-lib生成的属性可以是基本数据类型(int、boolean,string等)、对象生成为{},数组生成为[],而String中直接带function()时,Json-lib也会直接生成为aaa:function(){...}
的样式,但是如何让属性是一个带new的JS对象呢(如①,②所示的样式)?
     请知道的朋友相助一下,谢谢!


   发表时间:2007-10-26  
包装一下
root:(function() {
   return new Ext.tree.AsyncTreeNode(....)
})()
不过,没试过,不知道行不行
0 请登录后投票
   发表时间:2007-10-26  
用prototype做引擎的话,可以用bind方法绑定到某函数,让该函数去return你的new出来的东西。
0 请登录后投票
   发表时间:2007-10-26  
没用过JSON-lib,但是看你说String中直接带function(),就返回aaa:function(){...}
,那是否修改下代码,当String包含"new ...."返回aaa:new ...什么的,或者还不行,可以用函数包下
aaa:function(){return new ....}
调用时就obj.aaa()就是多了俩括号
0 请登录后投票
   发表时间:2007-12-06  
建议用moo做框架
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics