Javascript 在Sencha Touch中,Up方法无法正常工作

Javascript 在Sencha Touch中,Up方法无法正常工作,javascript,extjs,sencha-touch-2,Javascript,Extjs,Sencha Touch 2,我正在与Sencha Touch合作,我有了下一个代码行 var formpanel = button.getParent().getParent().down('formpanel'); //working correctly but tricky 我使用两个“getParent()”,因为“up”方法对我不起作用 var formpanel = button.up('formpanel'); //No-working 那景色呢 items: [ {

我正在与Sencha Touch合作,我有了下一个代码行

var formpanel = button.getParent().getParent().down('formpanel'); //working correctly but tricky
我使用两个“getParent()”,因为“up”方法对我不起作用

var formpanel = button.up('formpanel'); //No-working
那景色呢

items: [
            {
                xtype: 'toolbar',
                title: 'test',
                docked: 'top',
                items: [{
                    xtype: 'button',
                    iconCls: 'info',
                    style:{
                        'margin-left': '75em'
                    }
                }]
            },
            {
                xtype: 'formpanel',
                layout: 'hbox',
                scrollable: null,
                items: []
            }
有线索吗


谢谢

我不明白你为什么选择这个选项。不管怎样,你的需求只需要几行就可以实现。首先将类添加到formpanel(如果没有)。例如,
cls:“表单面板”

在控制器中,引用包含表单的容器的xtype。比如说
formContainer:“formContainer”

现在,您可以在控制器中使用以下行捕捉formpanel:

this.getFormContainer().element.down('.formpanel')


告诉我它是否对您有帮助。

它将不起作用,因为根据:

up([selector]):
沿着ownerCt轴查找与传递的简单选择器匹配的祖先容器

因此,在您的情况下,按钮的祖先是工具栏和工具栏的父级,但不是表单面板的父级。使用
up()
可以获得工具栏或工具栏的父级,但是不是窗体面板。您可以使用以下代码来代替:

第一个代码

var formpanel = button.up(<XtypeOfToolbarParent>).down('formpanel');

按钮是表单的直接子级吗?您没有显示您的结构,因此无法回答。已编辑的@EvanTrimboli您不能使用
up
,因为表单不是按钮的祖先。有任何建议@EvanTrimboli??谢谢你有一些已经奏效的东西。你还想要什么?你可以复制粘贴完整的视图和控制器代码在这里。完美,你的第一个选择它的工作正常,谢谢!
 var formpanel = button.up().up().down('formpanel');