【问题标题】:(Ember) Get/lookup component in controller(Ember) 在控制器中获取/查找组件
【发布时间】:2018-09-08 06:36:57
【问题描述】:

在我的 route.hbs 中,我有几个具有计算属性的组件。在我的控制器中,我想查看这些计算属性的状态。我不能双向绑定这些值,因为它们是计算属性。是否可以在控制器内部获取组件实例并检查其值?

我试过 Ember.$(#) 但这只是返回 dom 对象。

【问题讨论】:

  • 你不能这样做。这不是它的工作方式。为什么要这样做?
  • 你想要的与 ember 最初的设计方式相矛盾。不仅可以从控制器获取组件;您无法从父控制器中获取子组件。我怀疑你有严重的设计问题;我强烈建议您审查您的设计。

标签: ember.js controller components


【解决方案1】:

这个答案适用于 Ember 1.13 到至少 3.x。

您有几个共享状态的选项。我认为没有办法从控制器中的组件中获取值。这将导致非常复杂的相互依赖关系。

一些替代选项是: - 在控制器中声明计算的属性并将它们传递给组件,而不是在组件上定义它们 - 使用服务来跟踪共享状态。 - 如果计算的属性基于记录,您可以将它们添加到模型本身

【讨论】:

    猜你喜欢
    • 2015-08-16
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多