Ext.create

      create: function() {
            var name = arguments[0],
                nameType = typeof name,
                args = arraySlice.call(arguments, 1),
                cls;
            if (nameType === ‘function‘) {
                cls = name;
            } else {
                if (nameType !== ‘string‘ && args.length === 0) {
                    args = [
                        name
                    ];
                    if (!(name = name.xclass)) {
                        name = args[0].xtype;
                        if (name) {
                            name = ‘widget.‘ + name;
                        }
                    }
                }
                if (typeof name !== ‘string‘ || name.length < 1) {
                    throw new Error("[Ext.create] Invalid class name or alias ‘" + name + "‘ specified, must be a non-empty string");
                }
                name = Manager.resolveName(name);
                cls = Manager.get(name);
            }
            // Still not existing at this point, try to load it via synchronous mode as the last resort
            if (!cls) {
                Ext.log.warn("[Ext.Loader] Synchronously loading ‘" + name + "‘; consider adding " + "Ext.require(‘" + name + "‘) above Ext.onReady");
                Ext.syncRequire(name);
                cls = Manager.get(name);
            }
            if (!cls) {
                throw new Error("[Ext.create] Unrecognized class name / alias: " + name);
            }
            if (typeof cls !== ‘function‘) {
                throw new Error("[Ext.create] Singleton ‘" + name + "‘ cannot be instantiated.");
            }
            return Manager.getInstantiator(args.length)(cls, args);
        },

原文地址:https://www.cnblogs.com/xsSystem/p/9236501.html

时间: 2024-11-05 06:54:47

Ext.create的相关文章

ExtJS4 Ext.onReady、Ext.define、Ext.create的区别与联系 http://blog.sina.com.cn/s/blog_48d7f92901011cfn.html

1.Ext.onReady 说明:onReady内的语句块会在页面上下文加载后再执行. 2.Ext.define 说明:创建类,可以继承其他类,也可以被继承. 例子1: <script type="text/javascript"> Ext.onReady(function () { //创建一个类,类名:TextClass,具有两个属性:A.B Ext.define('TextClass', { A: 'a', B: 'b' }); //实例化类 var textClas

ExtJS4教程—-Ext.onReady、Ext.define、Ext.create基础方法(转)

Ext.onReady 说明:onReady内的语句块会在页面上下文加载后再执行 例子: <html> <head> <title>Index</title> <link href="http://www.cnblogs.com/Scripts/ext-4.0.7-gpl/ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="te

Ext create动态加载分析

主要涉及到Ext.js Inventory.js ClassManager.js Class.js Loader.js Boot.js 在ClasManager.js的Ext.create中 Ext.syncRequire(name); // 加载类的js Loader.js 中 syncRequire: function () { var wasEnabled = Loader.syncModeEnabled; Loader.syncModeEnabled = true; var ret =

如何使用Ext.create() 调用一个窗体

Ext.define("Scripts.Code.QM.OutgoingQuality.OQC.ReinspRequest.view.DefectContentsDetailInfoWindow", { extend: "Ext.window.Window", alias: "widget.Ali_DefectContentsDetailInfoWindow", initComponent: function () { Ext.apply(thi

【ExtJS】使用Ext.create( [String name], [Object... args] ) : Object实例化类

在ExtJS中实例化类可以使用全类名或者别名以及备用名 // alias 别名 var window = Ext.create('widget.window', { width: 600, height: 800, ... }); // alternate name 备用名 var window = Ext.create('Ext.Window', { width: 600, height: 800, ... }); // full class name 完整的类名 var window = E

Ext.js create store

ext.js动态弹窗的时候 窗口的store也是临时创建的,为了能够让store与弹窗同时销毁,必须在create的时候加一个属性:autoDestroy:true Ext.create('Tour.store.ticket.Ticket',{autoDestroy:true});

谈谈Ext JS的组件——容器与布局

概述 在页面中,比較棘手的地方就是布局.而要实现布局.就得有能维护布局的容器. 能够说,在我试过和使用过的Javascript框架中,Ext JS的布局是做得最优秀的一个,而这得益于它强大的容器类和丰富的布局类.在本文将介绍Ext JS的容器组合和布局类. 容器:Ext.container.Container 容器的主要功能是管理其内部的组件.因而在继承Ext.Component的所有功能的基础上.加入了相应的用来处理内部组件的方法add.insert.remove和removeAll. 在配置

《Ext.net》布局以及Ext JS布局

今天主要对Ext.net布局和Ext js 布局的一个学习. Ext.Net布局概述 Ext.Net中的布局是对ExtJS布局的封装,可以用在panel控件,或者继承自panel的控件,例如window.form.gridpanel.treepanel等.首先来看一个简单的例子: <ext:Window runat="server" ID="win1" Title="Layout示例" Width="600" Heigh

Ext.grid.plugin.RowExpander的简单用法

有时候,我们在grid里渲染数据时,由于某些字段的内容太长,而grid又不会自动出现滚动条,于是溢出的内容后面就会出现省略号, 导致信息展示不完全.如果,这个信息不太重要,展示不完全也无关紧要.可是,有时候,用户需要查看溢出部分的详细内容时,怎么办呢?比如下图中的grid: 因为信息内容太长,导致“消息内容”展示不全,这时候想要查看详细信息怎么办呢? 最简单的解决方法就是利用 Ext.grid.plugin.RowExpander  我们在grid配置项里面添加一个plugins属性.如下图所示