用关闭按钮传递视图

时间:2012-10-12 23:14:55

标签: sencha-touch-2

我希望关闭按钮可以重复使用,所以我创建了自己的类,以便将其附加到需要它的视图中。我希望能够将附加到视图的视图传递给控制器​​以关闭该视图。它应该是相当简单的,我会怀疑这是多少,但我不能让它正常工作。我得到它关闭视图但得到错误 未捕获的TypeError:无法读取null的属性'dom' 我理解这通常意味着视图没有被破坏,但我认为这告诉它破坏视图:

Ext.Viewport.remove(curView, true);

以下是我认为相关的代码 控制器:

closeView: function(btn, e,opts){             
            var curView = btn.getParent().getParent();
           console.log('From btn: ' + curView + ',' + opts);             
           Ext.Viewport.remove(curView, true);}

查看:

Ext.define('SenchaFirstApp.view.DetailView',{
      extend: 'Ext.tab.Panel',
      requires: ['Ext.Toolbar', 'Ext.tab.Panel', 'Ext.form.FieldSet', 'Ext.field.Select'],
      model: ['SenchaFirstApp.model.Details', 'SenchaFirstApp.model.SiteInfo'],
      alias: 'widget.detailview',
//      xtype: 'tabpanel',


    config:
    {
          scrollable: true,
          width: 1500,
          height: 800,
    //      fullscreen: true,
          layout: {type: 'card', animation:{type: 'flip'}},
          centered: true,
          border: 10,
          tabBar: {
              docked: 'top',
          }, 
          formParams: {
        },
      items: 
      [
       {
         //Tab bar 
         xtype:  'tbar',
         title: 'Details View',
             items: [
            {
              xtype: 'closebtn',
              id: 'detailsBtn',
              sourceForm: this
            }]
        },
        {
            title: 'Equipment Monitor',        //first tab
            xtype: 'monitor',
        },                        
        {
            title: 'Site Information',            //second tab
            xtype: 'siteinfo',
        }
    ]                    
} //End Config

我尝试使用

Ext.Viewport.remove(Ext.Viewport.getActiveItem, true)

但这也行不通。我怀疑这与我创建该视图的方式有关。我是Sencha的新手,所以我可能会做很多错事,所以我很感激你的帮助。

我忘了提到,在关闭标签面板后,我无法再次打开它而不再刷新,我确信这是因为视图没有被破坏

1 个答案:

答案 0 :(得分:0)

看来问题是使用了id。我以为我把它们拿出来但我猜不是。我拿出了id并使用了别名并使其正常工作。我仍然没有弄清楚如何传递附加到按钮的视图,但现在

Ext.Viewport.remove(Ext.Viewport.getActiveItem, true)

正在运作。 true属性告诉它在删除视图后销毁视图。