【问题标题】:Get parent component in ExtJS在 ExtJS 中获取父组件
【发布时间】:2016-04-26 11:27:55
【问题描述】:

我正在使用 ExtJS 5.1。我在项目部分有一个带有按钮定义的面板,其中包含事件“点击”的侦听器。 “this”关键字在这里指的是按钮本身。但是我想要一个新组件到我的面板,所以我需要在监听器函数中引用这个面板。 'this.getParent().add(...)' 不起作用,没有函数错误,this.container.getParent().add(...) 导致同样的错误。正确的方法是什么?

【问题讨论】:

  • 您需要发布代码。

标签: javascript extjs


【解决方案1】:

在click函数的第一个参数中使用.up('panel'),也就是按钮本身。

或者在 ExtJS 5 中定义一个 reference 属性在你的面板中,并使用

this.lookupReference('your_reference_in_panel');

【讨论】:

  • 组件的属性选择器很少使用,尤其是在您向上看的上下文中。
  • @EvanTrimboli “很少使用”是什么意思?我从来没有读过任何关于它是一种不好的做法或什么的东西。
  • 你也可以使用 Ext.ComponentQuery:docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/…
  • 通常,您不会为面板分配“名称”属性。这不是惯用的。
  • @serg 最初我的帖子是使用.up('panel[name="whatever"]')。我在更正 Evan 后对其进行了编辑
猜你喜欢
  • 2011-05-26
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
  • 2014-08-15
  • 1970-01-01
  • 2013-07-14
  • 2019-05-05
相关资源
最近更新 更多