了解sencha触摸对象模型

时间:2011-09-18 12:57:04

标签: object user-interface scope sencha-touch

好的,所以我有以下类定义:

MyApp.views.ItemAction = Ext.extend(Ext.ActionSheet, {
  items: [{
    text: 'cancel',
    handler: function(){
      this.hide();
    }
  }]
});

当我创建ItemActionshow()的实例时,会显示一个操作表。辉煌。

现在我的问题:按下cancel按钮将隐藏按钮本身,而不是隐藏父资料。

我该如何解决这个问题?

干杯

2 个答案:

答案 0 :(得分:1)

您也可以尝试

handler: function(){
            this.up().hide();
         }

up将导航所有者链。在没有任何变量的情况下调用它将获得直接所有者。但是调用destroy也是一个好主意,因为它会从dom中删除工作表。

答案 1 :(得分:0)

好的,所以我将代码修改为:

MyApp.views.ItemAction = Ext.extend(Ext.ActionSheet, {
    id: 'itemaction',
    items: [{
        text: 'cancel',
        handler: function(){
          Ext.getCmp('itemaction').destroy();
          //do other stuff here...
        }
    }]
});

它有效;我现在将使用它,但当然我会欣赏一个不那么神奇的解决方案(并且不,将项目scope设置为this不起作用 - 我得到一个DomWindow对象我这样做了。)

干杯