【发布时间】:2016-06-14 09:17:34
【问题描述】:
EmberJS 中有没有一种方法可以从控制器访问组件及其方法?在伪代码中类似于
this.getComponent('componentId').disable()
【问题讨论】:
标签: ember.js
EmberJS 中有没有一种方法可以从控制器访问组件及其方法?在伪代码中类似于
this.getComponent('componentId').disable()
【问题讨论】:
标签: ember.js
不,这是不可能的,这是设计使然
在 Ember 中,视图(组件是美化的视图)知道它们的 控制器,但控制器不知道视图。这是设计使然 (MVC) 以保持事物解耦,因此您可以拥有许多视图 由单个控制器“供电”,并且控制器没有 更聪明。因此,在考虑关系时,可能会发生变化 到控制器,视图将对这些更改做出反应。所以,只是为了 重申一下,您永远不应该尝试从内部访问视图/组件 控制器
查看这个答案以获得更多解释以及如何正确地做到这一点How to call method of a component from a controller
【讨论】: