ExtJS视图属性取决于(控制器端)标志

时间:2015-06-03 09:57:08

标签: javascript extjs model-view-controller

我定义了一个应该能够以两种模式调用的视图。根据标志只有两个不同之处:

  • 视图标题(config.title)
  • 可能会显示或隐藏选择字段

以下是简化视图:

Ext.define('MyApp.view.fancyView', {

xtype: 'fancyview',
extend: 'Ext.form.Panel',

config: {
    cls: 'fancyviewclass',

    title: "titleDependingOnFlag",

    items: [
        {
            xtype: 'fieldset',
            name: 'fieldsetFancy',
            items: [
                {
                    xtype: 'selectfield',
                    itemId: 'stateID',
                    usePicker: true,
                    label: 'state',
                    store: 'States',
                    name: 'StateID',
                    valueField: 'ID',
                    displayField: 'ID'
                },
                {
                    xtype: 'selectfield',
                    itemId: 'countryID',
                    usePicker: true,
                    label: 'country',
                    store: 'Countries',
                    name: 'CountryID',
                    valueField: 'ID',
                    displayField: 'ID',
                    //hidden: true
                }
            ]
        }
    ]
}
});

当然还有一个控制器可以创建这个视图。目前我将标志作为配置值传递,请参阅

Ext.define('MyApp.controller.fancyController', {

...
raisedBasedOnTap:function (flag){
this.myFancyFlag = !!flag;

    var myFancyView = Ext.create('FLSMOBILE.minimax.view.CallReportTimestampPlaceCar', {
        myFancyFlag: me.myFancyFlag    
    });

    app.pushView(myFancyView);

}
...
});

根据标志(例如标题:fancyFlag?'title1':'title2')制作标题的最佳方法是什么,并根据标志隐藏selectfield countryID?

提前致谢!

0 个答案:

没有答案