Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在类上配置别名需要什么?_Javascript_Extjs_Extjs4 - Fatal编程技术网

Javascript 在类上配置别名需要什么?

Javascript 在类上配置别名需要什么?,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我想知道为什么我们需要在ExtJS中的类上配置别名?它提供了什么好处?xtype和alias用于从其他对象中获取对对象的引用,而不是自己实例化它们或将它们放入变量中 由于Ext.form.TextField具有xtype“TextField”,因此我们可以执行以下操作: items: [{ xtype: 'textfield', autoWidth: true, fieldLabel: 'something' }] 这样定义视图有很大的好处。通过这种方式,框架将创建对象 您也

我想知道为什么我们需要在ExtJS中的类上配置别名?它提供了什么好处?

xtype
alias
用于从其他对象中获取对对象的引用,而不是自己实例化它们或将它们放入变量中

由于
Ext.form.TextField
具有
xtype
“TextField”,因此我们可以执行以下操作:

items: [{
   xtype: 'textfield',
   autoWidth: true,
   fieldLabel: 'something'
}]
这样定义视图有很大的好处。通过这种方式,框架将创建对象

您也可以稍后使用
Ext.ComponentQuery.query()

例如:

Ext.create('MyApp.view.MyButton', {
    xtype: 'mybutton',
    .....
});
在代码的后面,如果执行以下操作:

var buttonArray = Ext.ComponentQuery.query('mybutton');
更多信息:





xtype
alias
用于从其他对象中获取对对象的引用,而不是自己实例化它们或将它们放入变量中

由于
Ext.form.TextField
具有
xtype
“TextField”,因此我们可以执行以下操作:

items: [{
   xtype: 'textfield',
   autoWidth: true,
   fieldLabel: 'something'
}]
这样定义视图有很大的好处。通过这种方式,框架将创建对象

您也可以稍后使用
Ext.ComponentQuery.query()

例如:

Ext.create('MyApp.view.MyButton', {
    xtype: 'mybutton',
    .....
});
在代码的后面,如果执行以下操作:

var buttonArray = Ext.ComponentQuery.query('mybutton');
更多信息:





第一个最简单但有价值的好处是,您不需要键入可能很长的类名,但在需要使用类时可以使用短(er)别名

假设我们需要在布局中使用上述类

如果没有别名,我们需要键入:

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[ Ext.create('MyApp.view.MyGridView'{ //配置
})
] });

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[ Ext.create('MyApp.view.MyGridView'{ //配置
})
] }); 使用alias,我们键入:

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[{ xtype:'mygrid' //配置 }] });

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[{ xtype:'mygrid' //配置 }] }); 后者比前者少大约20次击键。现在想象一下,您需要在更大的应用程序中使用您的类数百次。很明显,xtype节省了大量的打字时间,更不用说减少长名称中的打字错误风险了

其次,还有一个非常有价值的好处,就是Ext.create无条件地实例化该类,无论是否需要。在一个大的应用程序中,可以有许多视图、选项卡面板或卡片布局,用户可能永远不会点击,或者很少点击


换句话说,某些已定义的类永远不会被实例化,或者可以等到用户需要它们时再实例化。因此,xtype可以节省内存,这在现代计算机中并不重要,因为实例化的Ext/Touch类不会占用千兆字节

我想提到的最后一个好处(这一点非常重要)是大大提高了代码的可读性和可维护性。代码不是只写一次就忘记了,而是由许多开发人员阅读、调试和修改的,因此使代码更短、更好、更容易理解的一切都很重要


信用证:-

第一个最简单但有价值的好处是,您不需要键入可能很长的类名,但可以在需要使用该类时使用短(er)别名

假设我们需要在布局中使用上述类

如果没有别名,我们需要键入:

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[ Ext.create('MyApp.view.MyGridView'{ //配置
})
] });

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[ Ext.create('MyApp.view.MyGridView'{ //配置
})
] }); 使用alias,我们键入:

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[{ xtype:'mygrid' //配置 }] });

Ext.create('Ext.container.container'{ 布局:'vbox' ,项目:[{ xtype:'mygrid' //配置 }] }); 后者比前者少大约20次击键。现在想象一下,您需要在更大的应用程序中使用您的类数百次。很明显,xtype节省了大量的打字时间,更不用说减少长名称中的打字错误风险了

其次,还有一个非常有价值的好处,就是Ext.create无条件地实例化该类,无论是否需要。在一个大的应用程序中,可以有许多视图、选项卡面板或卡片布局,用户可能永远不会点击,或者很少点击


换句话说,某些已定义的类永远不会被实例化,或者可以等到用户需要它们时再实例化。因此,xtype可以节省内存,这在现代计算机中并不重要,因为实例化的Ext/Touch类不会占用千兆字节

我想提到的最后一个好处(这一点非常重要)是大大提高了代码的可读性和可维护性。代码不是只写一次就忘记了,而是由许多开发人员阅读、调试和修改的,因此使代码更短、更好、更容易理解的一切都很重要


信用证:-

您能告诉我们您尝试了什么,以便人们可以帮助您吗?请检查.Ext.define('MyApp.view.MyAppView',{extend:'Ext.grid.Panel',别名:'widget.MyApp'});为什么我们需要这个“别名”,它有什么好处???请检查您是否可以向我们展示您尝试过的内容,以便人们可以帮助您?请检查.Ext.define('MyApp.view.MyAppView',{extend:'Ext.grid.Panel',别名:'widget.MyApp'});为什么我们需要这个“别名”,它有什么好处???勾选“因此,xtype可以节省内存”是不正确的。实例是在容器初始化时创建的,无论它们是否为X类型