首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS 对象会存控件么

2013-07-04 
JS 对象能存控件么?俗话说万物皆对象~~请问 JS中 如何将控件存入对象 并使用?JavaScript对象[解决办法]引

JS 对象能存控件么?
俗话说  万物皆对象  ~~
请问 JS中 如何将控件存入对象 并使用? JavaScript 对象
[解决办法]

引用:
俗话说  万物皆对象  ~~
请问 JS中 如何将控件存入对象 并使用?


愣是没太明白 这句话的含义 

你可以参考easyui  自己封装 显示数据的控件, 后台只需要返回一个 json的 data , 前台你想用哪个控件 就用你自己封装的比如 treegrid datagrid 等等,直接调用就好啊, 这个控件本身就是一个 控件对象  然后自己去封装 属性 方法  事件 。   一点点的填充起来就是一个完整的控件了。
[解决办法]
当然能了。
一般都是将 容器对象保存起来
[解决办法]
引用:
俗话说  万物皆对象  ~~
请问 JS中 如何将控件存入对象 并使用?

这个问的纠结阿
万物皆对象 
对象属于类
简单说 对象就是初始化了数据的类
你有一个控件的类 那么后台只要给你控件相关的数据  你就可以new 出一个相应的对象

另外 控件存入对象?
从上面的红色的话 反过来你就可以推出 控件可以变成数据
因为  数据 + 类  = 对象
所以  对象 - 类 = 数据
其实只有数据 和 数据的格式 
[解决办法]
你有兴趣深入研究的话可以参考 extjs
他这个整体设计的完美

(function(_namespace){
    var controlCfg = { //控件配置文件
          className{
                    window:'easyui-window'
          }
    }
    var mycontrol =  window[_namespace] = {};   //初始化空间名
 /**  窗口对象
         参数cfg:{   
             id
             ,title
             ,width
             ,height
             ,renderparent:   父容器 基本就是要渲染所在的父控件
         }
        */
    var w =control.Window = function(cfg){
           this.init(cfg);
    }
    w.prototype = {
       dom:null   //实际的dom元素
       ,type:'window'   //控件类型
       ,init:function(cfg){    //初始化  任何类基本应该提供的方法
            this.cfg = cfg 
------解决方案--------------------


 {}; //假定所有的参数提供完整 不检查了
            
             return this;
       }
       ,render:function(){    //渲染方法
           if(!this.dom){
            var dom = this.dom = document.createElement("div");
            dom.className = controlCfg.className[this.type];
            dom.id = this.cfg.id;
            dom.title = this.cfg.title;
             dom.clientWidth = this.cfg.Width;
              dom.clientHeight = this.cfg.height;

            this.cfg.parent.renderparent(this.dom);
            }
       }
    }
})('MyControl');

var wwww = document.getElementById("w2");
            if (wwww == null) {
                wwww = document.getElementById("Div1");
            }

var w1cfg = {
     id:"w1", title:"window1", width:200, height:300,renderparent:wwww
}
new window.MyControl.Window(w1cfg).render();

代码没验证 面向对象简单可以先这样写 以后你的control多了 在考虑重构 和构建类层次结构 
关键点是  不要把 自己的类设计和业务逻辑混淆 只要能分开 那么就成功一半了

热点排行