【发布时间】:2020-10-25 17:01:50
【问题描述】:
我在一个角度页面中有 4 个标签(由 mat-tab 制成),每个标签都包含一个子组件,这些子组件包裹着其他较小的组件以提供该标签页的功能。
现在,从一个选项卡中的子组件,我想通过单击按钮将用户带到第二个或第三个选项卡。 如何将用户从位于另一个选项卡深处的子组件导航到不同的选项卡?
我在这里没有使用路由器,我想将数据对象传递给位于不同选项卡中的子组件。
【问题讨论】:
标签: angular typescript
我在一个角度页面中有 4 个标签(由 mat-tab 制成),每个标签都包含一个子组件,这些子组件包裹着其他较小的组件以提供该标签页的功能。
现在,从一个选项卡中的子组件,我想通过单击按钮将用户带到第二个或第三个选项卡。 如何将用户从位于另一个选项卡深处的子组件导航到不同的选项卡?
我在这里没有使用路由器,我想将数据对象传递给位于不同选项卡中的子组件。
【问题讨论】:
标签: angular typescript
我可以在这里想到几个解决方案:
只需继续从您的子组件发出@Output 事件,直到它到达您可以控制选项卡的父组件。
您也可以将Subject从父组件传递给子组件,以便您可以订阅父组件中的主题并使用.next(index:number)向父组件发送消息。
如果您的子组件过于嵌套和随机,请创建一个全局服务来保存一个主题,并有一个类似 changeTab(index:number) 的方法,您将在其中执行 subject.next(index) 并在您的父组件中,您将订阅并相应更改。
【讨论】: