开源进销存PSI - ExtJS知识点(3)

Ext.create 与 new

因为PSI是用ExtJS 4.2开发的,所以这个知识点是针对这个版本而言的。

在JS中创建对象,肯定只有用new,所以Ext.create最终必然要使用new,只是为了构建其内部的数据结构,又附加了很多的代码。

重要的事情说三遍:用Ext.create创建对象 、用Ext.create创建对象 、用Ext.create创建对象。 

在ExtJS中,可以忘记new!


Ext.define("PSI.Customer.CustomerField", {
    extend: "Ext.form.field.Trigger",
    alias: "widget.psi_customerfield",
    // 下面的代码略

这里有个新的知识点:alias  - 别名。

用别名也可以创建对象,比如上面对象的使用如下所示:

                        {
                            id: "editCustomer",
                            xtype: "psi_customerfield",
                            parentCmp: me,
                            fieldLabel: "客户",
                            allowBlank: false,
                            labelWidth: 60,
                            labelAlign: "right",
                            labelSeparator: "",
                            colspan: 2,
                            width: 430,
                            blankText: "没有输入客户",
                            beforeLabelTextTpl: PSI.Const.REQUIRED,
                            listeners: {
                                specialkey: {
                                    fn: me.onEditCustomerSpecialKey,
                                    scope: me
                                }
                            }
                        }

特别注意上述代码中的 xtype的值!

总结:alias 定义了一个新的xtype , 在其他地方使用xtype的时候,就可以引用同样的alias值来创建新的对象。

alias的值的格式是:widget.ABCD , 那么xtype的值就是 ABCD

例子中的是:alias: "widget.psi_customerfield"  --- xtype: "psi_customerfield"

你可能感兴趣的:(开源进销存PSI - ExtJS知识点(3))