0

所以我有一个扩展 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';

但视图本身不会生效。

4

1 回答 1

1

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

setSomeProperty: function(prop) {
    this.down('#someContainer').update({someProperty: prop});
}
于 2013-07-25T12:35:09.123 回答