Ember 在 child 个组件之间通信
Ember communicate between child components
我正在尝试制作一个 header 组件,它有几个内部组件,
例如一个按钮,其中之一打开一个侧面菜单,该菜单也是 child 组件。
如何将一个 child 组件的操作定位到另一个 child 组件?
在这种情况下,将按钮组件中的打开动作定位到覆盖组件?
{{#header-block class="main-nav"}}
{{button-icon icon="fi-torso" class="nav-action left" openMenu=(action "open" target=) }}
{{#overlay-block}}
{{#side-menu}}
<p>side menu one</p>
{{/side-menu}}
{{/overlay-block}}
{{/header-block}}
你不能,至少不能使用 public API。您可能以前读过这篇文章,但是 Ember 的组件遵循 "data down, actions up" 方法。为了做你想做的事,你必须从按钮组件发送一个动作到你的控制器,根据该动作改变一些数据,然后将该数据传递到覆盖组件。两个组件之间不能直接通信。
我正在尝试制作一个 header 组件,它有几个内部组件, 例如一个按钮,其中之一打开一个侧面菜单,该菜单也是 child 组件。
如何将一个 child 组件的操作定位到另一个 child 组件?
在这种情况下,将按钮组件中的打开动作定位到覆盖组件?
{{#header-block class="main-nav"}}
{{button-icon icon="fi-torso" class="nav-action left" openMenu=(action "open" target=) }}
{{#overlay-block}}
{{#side-menu}}
<p>side menu one</p>
{{/side-menu}}
{{/overlay-block}}
{{/header-block}}
你不能,至少不能使用 public API。您可能以前读过这篇文章,但是 Ember 的组件遵循 "data down, actions up" 方法。为了做你想做的事,你必须从按钮组件发送一个动作到你的控制器,根据该动作改变一些数据,然后将该数据传递到覆盖组件。两个组件之间不能直接通信。