首页 > 解决方案 > 如何判断子组件的父类是什么

问题描述

我有一个组件用作其他两个组件的子组件。这两个父组件是不同的类,我希望能够根据我所在的类做一些事情。

有没有办法用类似的东西来告诉这个@Hostor @Injectand instanceof?如果没有,还有其他方法吗?

标签: angulartypescriptinheritanceangular6

解决方案


我的建议是不要这样做。如果您需要子组件上的不同行为:

  • 使用父必须填写的 @Input 属性,然后子知道如何处理该值。

  • 或者,使用一些中介,如状态(即ngrx 或akita)或在组件之间进行中介的服务。

让孩子以您建议的方式了解父母是可能的,但同样,这不是我推荐的。

例如,假设您有一个日历按钮,您在 30000 个不同的父母中使用它,但有 150 个希望它是蓝色的,而 150 个希望它是红色的。

如果你走打开父母的路,你将不得不根据父母为你的孩子添加300个条件。

相反,如果您传递输入属性或共享服务属性,则无需添加通用代码即可处理该组值,红色蓝色为 2。


推荐阅读