Показать сообщение отдельно
  #6 (permalink)  
Старый 04.04.2015, 14:41
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Если нужно сохранить возможность расположения элементов вашего контейнера по лейауту, то лучше сделать так:

Ext.define('MyContainer', {
            extend: 'Ext.container.Container',
            alias: 'widget.my-container',
            
            config: {
                boxes: []
            },
            
            initComponent: function() {
                
                this.items = [];
                
                Ext.Array.each(this.getBoxes(), function(box) {
                    
                    this.items.push({
                        xtype: 'component',
                        html: box.content
                	});
                    
                }, this);
                
                this.callParent();
                
            }
        });
    
        var myCnt = Ext.create('MyContainer', {
            renderTo: Ext.getBody(),
            boxes: [
                {
                    content: '5555'
                },
                {
                    content: '77777'
                }
            ]
		});


Вместо boxes, можно написать в config и что-нибудь своё. Только потом getBoxes() нужно будет тоже поменять на getЧтоНибудьСвоё().

Переписывать лейауты не нужно. Ими нужно пользоваться.

Пример

Последний раз редактировалось novikov, 04.04.2015 в 14:53.
Ответить с цитированием