angular - 如何判断子组件的父类是什么
问题描述
我有一个组件用作其他两个组件的子组件。这两个父组件是不同的类,我希望能够根据我所在的类做一些事情。
有没有办法用类似的东西来告诉这个@Host
or @Inject
and instanceof
?如果没有,还有其他方法吗?
解决方案
我的建议是不要这样做。如果您需要子组件上的不同行为:
使用父必须填写的 @Input 属性,然后子知道如何处理该值。
或者,使用一些中介,如状态(即ngrx 或akita)或在组件之间进行中介的服务。
让孩子以您建议的方式了解父母是可能的,但同样,这不是我推荐的。
例如,假设您有一个日历按钮,您在 30000 个不同的父母中使用它,但有 150 个希望它是蓝色的,而 150 个希望它是红色的。
如果你走打开父母的路,你将不得不根据父母为你的孩子添加300个条件。
相反,如果您传递输入属性或共享服务属性,则无需添加通用代码即可处理该组值,红色蓝色为 2。
推荐阅读
- version-control - 为什么我不能将代码推送到这个 Gitlab 项目?
- c# - 文本和文件名之间的相似性。需要更不精确
- c# - C#,MessageBox.Show 背后的机制
- python - Python 匹配元素相同但美元在 % 以内的记录
- python - 我们应该如何通过python循环中的索引引用它们的标记化名称来获取实际实例
- youtube - Youtube iframe API no-cookies GDPR 合规性
- reactjs - 使用 React 在 Firestore 上订阅实时更改的正确方法
- orm - 如何将 many2many 字段添加到继承的模型
- sql - 我将如何编写一个查询来检查日期的子查询列表是否在主查询的日期范围之间?
- python - 您可以从 App Engine 标准环境运行 Python 模块 Subprocess 吗?