zoukankan      html  css  js  c++  java
  • model工厂类(转)

    /**
    * model工厂类
    */
    Ext.define("factory.ModelFactory",{
            statics:{
                    //数据类模型的集合
                    models:new Ext.util.MixedCollection(),
                    //字段集合
                    fields:new Ext.util.MixedCollection(),               
                    getModelByName:function(modelName,excludes){
                            //不需要的字段
                            var nofields = {};
                            if(excludes){
                                    nofields = {"excludes":excludes};
                            }
                            //1.声明类,返回类的ClassName
                            if(!this.models.containsKey(modelName)){
                                    //ajax拿到我们的字段集合
                                    var fields = [];
                                    if(this.fields.containsKey(modelName)){
                                            fields = this.fields.containsKey(modelName)
                                    }else{
                                            Ext.Ajax.request({
                                                    http://www.cnblogs.com/zmc/admin/'/pc/doAction!getModelFields.action?modelName='+modelName,
                                                    method:'POST',
                                                    params:nofields,
                                                    timeout:4000,
                                                    async:false,//跟关键 我不需要异步操作
                                                    success:function(response,opts){
                                                            fields = eval(response.responseText);
                                                    }
                                            });
                                    }
                                    this.fields.add(modelName,fields);
                                   
                                    var newModel = Ext.define(modelName,{
                                            extend:'Ext.data.Model',
                                            fields:fields
                                    });
                                    this.models.add(modelName,newModel);
                            }
                           
                            return {modelName:modelName,model:this.models.get(modelName)};
                    }
            }
    });
  • 相关阅读:
    30分钟速懂Java8新特性!
    学习数据结构和算法心得
    看似简单但容易忽视的编程常识
    你应该关注的几个Eclipse超酷插件
    无谓的通宵加班之后的思索
    比特币这么火热,看看这篇比特币初学者指南
    2017年最受欢迎的十大开源黑客工具
    15分钟破解网站验证码
    我的新博客:www.wangyufeng.org
    20 岁时候的你在想些什么?
  • 原文地址:https://www.cnblogs.com/zmc/p/2512775.html
Copyright © 2011-2022 走看看