Sencha Ext.define使用vs要求

时间:2013-04-17 03:03:48

标签: javascript extjs

Ext.define('...', { 
    uses: ['...'],
});

Ext.define('...', {
    requires: ['...'],
});

我有点困惑......他们有共同点吗?我们什么时候使用其中一种?

2 个答案:

答案 0 :(得分:13)

文档几乎涵盖了这一点:

  

使用是可选的类依赖项,但不是   一堂课所要求的。这些可以异步加载而不是   必须可用于实例化的类。

例如,如果你的类在构造函数中实例化Foo,那么它应该在requires中。

如果它在某个方法中实例化Foo,后者可能会稍后被开发人员调用,那么它可能会进入uses

答案 1 :(得分:6)

创建类需要

'requires',创建该类的对象需要'uses'。

事件序列是:

  • 称为Ext.define
  • 'requires'和'uses'被排队以异步加载
  • 类在加载了所有“需求”时创建
  • 当所有类''require'和'uses'被加载
  • 时,将调用Ext.onReady侦听器