EXTJS 4 - предоставить данные для XTemplate - PullRequest
0 голосов
/ 28 февраля 2012

Я новичок в extjs и у меня возникают проблемы при заполнении шаблона данными.

var header = new Ext.Template("<div><b>{name}</b></div>");
header.compile();

var description = new Ext.Template("<div><b>{description}</b></div>");
description.compile();

Ext.define('ActivityWindow', {
    extend   : 'Ext.window.Window',
    id   : 'detActWin',
    layout   : 'border',
    config   :{
        resultRecord : null
    },
    defaults :{
        xtype   : 'panel'
    },
    constructor: function (args){
        this.initConfig(args);
        this.callParent();
    },
    items    : [
            {
                tpl : header,
                itemId  : 'activityHeader',
                region  : 'north',
                data    : this.resultRecord
            },
            {
                html    : 'partecipantsList',
                itemId  : 'activityPartecipants',
                region  : 'east'
            },
            {
                html    : 'description',
                region  : 'center'
            }               
    ]       

});

    var winDetAct = Ext.create(ActivityWindow, { resultRecord: entry});
    alert(winDetAct.getResultRecord().get('name')); //it shows the field name
    winDetAct.show();

где resultRecord = {name: 'topText', описание: 'rightText'}

Я бы хотел передать этот resultRecord классу Window и получить элементы, использующие эти данные. resultRecord в классе окна хорошо настроен, потому что предупреждение показывает правильные данные.

но эта строка как бы игнорируется,

    data    : this.resultRecord

вопросы:

1 - Как я могу заполнить шаблон в пункте 1 окна данными из переменной resultRecord?

2 - Есть ли правильный способ сделать это?

большое спасибо, Gabriel

1 Ответ

0 голосов
/ 28 февраля 2012

Проблема, с которой вы сталкиваетесь, заключается в том, что this.resultRecord не определен, поскольку контекст "this" еще не доступен в качестве компонента вашей конфигурации. Вы должны вызвать initComponent и внутри, что вы можете иметь ссылку this.Myproperty. Ее код изменен для правильной работы: http://jsfiddle.net/dbrin/HTAWP/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...