如何在指令中获取宿主组件实例而不知道它在 Angular8+ 中的类型?

问题描述

我正在创建一个自定义的“i18n”指令来更新宿主组件属性中的文本值。所以我遇到了一个场景,当宿主组件是自定义组件时,我还需要更新组件的属性,该属性使用@input()属性获取输入。因此,正在寻找一种获取组件实例的方法(可以是自定义组件,也可以只是 DIV 或 SPAN)。

我遇到了以下方法

this._viewContainerRef['_lContainer'][0] // To access instance of host,if it is a HTMLElement

this._viewContainerRef['_lContainer'][0][8]; // To access instance of host,if it is a custom component

但是这两种方法都失败了我的测试用例,因为在使用 Jest 运行测试(即在无头浏览器中运行的测试)时 _viewContainerRef 有点不同。

因此寻求一些建议或意见。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)