我是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',description:'rightText'}
我想将此resultRecord传递给Window类,并使用此数据获取项目。窗口类中的resultRecord设置得很好,因为警报显示正确的数据。
但这条线就像被忽略一样,
data : this.resultRecord
的问题:
1 - 如何使用变量resultRecord中的数据来提供窗口第1项中的模板?
2 - 有没有正确的方法来做到这一点?
答案 0 :(得分:0)
您看到的问题是this.resultRecord未定义,因为“this”上下文尚未作为配置的组件提供。你必须调用initComponent并在里面你可以有this.Myproperty引用。她的代码被修改为正常工作: http://jsfiddle.net/dbrin/HTAWP/1/