我可以在Ext JS中动态更改面板的属性吗?

时间:2013-07-25 12:24:15

标签: extjs panel

所以我有一个扩展Ext.panel.Panel

的视图
Ext.define('SomeView', {
    extend: 'Ext.panel.Panel',
    alias: 'someview',
    title: 'Some View',
    closable: true,
    initComponent: function () {
        this.itemId = 'someView';
        this.callParent(arguments);
    },

    layout: {
        type: 'vbox',
        align: 'stretch'
    },

    items: [
        {
            xtype: 'container',
            layout: 'hbox',
            items: [
                {
                    xtype: 'container',
                    itemId: 'someContainer',
                    tpl: '<h2>{someProperty}</h2>',
                    flex: 1
                },
    // other code omitted for brevity
});

我像这样初始化视图。

var panel = Ext.create('someview', {
   someProperty: 'Some Value'
});

显示视图后,我也会显示传递给someProperty的参数。但问题是,我希望在显示视图后更改someProperty。我能这样做吗?如果是,怎么样?我的意思是我可以像这样改变它

panel.someProperty = 'Some New Value';

但视图本身并未受到影响。

1 个答案:

答案 0 :(得分:1)

您需要在面板类中添加一个成员函数来执行更新屏幕上显示内容的实际工作:

setSomeProperty: function(prop) {
    this.down('#someContainer').update({someProperty: prop});
}