emberjs组件通信

时间:2019-01-24 17:59:24

标签: javascript ember.js components

我在组件通信方面遇到一些麻烦。可以说我有3个嵌套组件。

有孩子{{component-a}}的父母{{component-b}}->有孩子{{component-c}}的父母。

如果未呈现component-c,如何从component-a直接访问component-c。 这有可能吗? 谢谢

2 个答案:

答案 0 :(得分:3)

Ember使用数据减少动作模式。这意味着,如果您想将数据从组件发送到其子组件,则可以通过参数传递该组件,但是如果您想要相反的方向,则应该使用该数据发送一个动作。当您拥有3个组件时,您会在中间跳过一个组件,而这个组件将继续传递信息。

您可以找到更多信息here

答案 1 :(得分:1)

通常,您将希望使用服务来跨不同组件树进行通信或“从子组件发送数据”

服务非常容易测试。

使用数据向下动作也可以,但是除了两层之外,还被称为道具钻探。由于过度的互连性,支撑钻使零件难以维护

希望这会有所帮助!