我有一个需要互动的父组件和子组件。通常我会用contextual components。我这种情况不起作用,因为这两个组件不在相同的路由模板上。父组件位于一条路径上,子组件位于子路由上,据我所知,我无法将上下文组件传递给{{outlet}}。ember.js - 如何连接不同路由上的两个组件?
Route | Component
----------------------------
route | parentComponent
route.sub | childComponent
我目前看到两个选项:
- 移动父组件逻辑控制器
- 使用服务
我想,以避免这两个选项,因为相同的父子组件可能会同时显示两次。在这两种情况下,我都没有看到使用某种ID将正确的孩子与正确的父母连接的其他选项,我不喜欢那样,因为我发现很难调试和阅读。
Controller/Service
∧ |
| ∨
action() ? or ? -> use of ID
∧ | |
| ∨ ∨
child child parent parent
有没有其他方法可以做到这一点? 感谢您的帮助!
感谢您的详细反馈。 –
我怀疑那个。在我的情况下,父和子组件不能使用相同的数据。他们只需要以如何展示和装饰材料为目的进行沟通。我想我然后去控制器/路线选项。并尽可能在查询参数中移动。 –