在Angular中,依赖注入通常用于解析组件所需的依赖项。然而,当使用库组件时,由于库中的组件和服务可能无法通过依赖注入进行解析,因此会遇到问题。
以下是解决此问题的一种方法:
// 在库组件中定义一个输入属性
@Input() service: MyService;
// 在使用库组件的地方,通过属性绑定将依赖项传递给它
// 在库组件中定义一个输出事件
@Output() serviceChange: EventEmitter = new EventEmitter();
// 在使用库组件的地方订阅输出事件,并获取依赖项
// 在应用的根模块中提供全局服务
@NgModule({
providers: [MyService]
})
export class AppModule { }
// 在库组件中通过依赖注入解析全局服务
constructor(private service: MyService) { }
通过上述方法,您可以解决在Angular中使用库组件时的依赖注入问题。