Apply {} 和 Apply {items:...} 之间的区别?

Difference between Apply {} and Apply {items:...}?

我一直在我的 InitComponent 中使用 Ext.Apply,就像这样

  Ext.apply(that, {
        xtype: 'form',
        items: [.....

但我注意到在我的 window 上使用 xtype 的地方留下了蓝色背景,基本上使用以下方法解决了这个问题。我想我想问的是两者之间的区别是什么?

  Ext.apply(that, {
        items: {
            xtype: 'form',
            items: [

如果您注意到第一个我只是直接在 Apply 上应用 xtypes 和第二个(解决问题)我包括数组项。

我应该使用哪一个?

对于第一个 apply,您将 form 应用到 'that' 本身,对于第二个 apply,您将 form 应用到 items数组。但是为了让它更混乱,你应该使用 applyIf 来确保你没有覆盖数组中的现有项目。

initComponent: function () {
    var me = this;

    Ext.applyIf(me, {
        items: {
            xtype: 'form',
            items: [
                ...
            ]
        }
    });

    me.callParent(arguments);
}