读书人

JS 对象会存控件么

发布时间: 2013-07-04 11:45:51 作者: rapoo

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多了 在考虑重构 和构建类层次结构
关键点是 不要把 自己的类设计和业务逻辑混淆 只要能分开 那么就成功一半了

读书人网 >JavaScript

热点推荐