Angular Ivy下TypeScript Mixin无法正常运行问题求助
简介
各位好,我正碰到Angular中TypeScript混入(Mixin)的复杂使用问题(不是SCSS混入),想通过Mixin来构建复杂的自定义表单输入组件。
问题详情
我做了一个作为Mixin基础实现的TextComponent,它的extends里用到了3个Mixin:
- CvaConnectorMixin:封装了ControlValueAccessor逻辑和基础输入属性
- LengthValidatorMixin:添加输入框minLength和maxLength相关的输入属性
- ErrorStateMatcherMixin:负责管理输入框的自定义ErrorStateMatcher
另外还有一个包含Injector及Angular生命周期钩子的Base基类。
按道理每个Mixin都应该能在TextComponent里访问Injector,以及各个Mixin的输入、输出和属性。这个实现在开发环境完全正常,但到了生产环境就会报错:
⚠️ NG0203: inject() must be called from an injection context
请问该怎么解决这个问题?这个问题在GitHub上也有相关的讨论记录。
内容的提问来源于stack exchange,提问作者Nxtivision
相关产品推荐
相关产品推荐

