【发布时间】:2020-09-29 22:01:19
【问题描述】:
在我的 Angular 项目中,我想扩展/继承 Angular 材质组件,而不是使用材质组件本身(例如,不是 mat-checkbox,而只是扩展 mat-checkbox 的常规复选框)。通过这种方式,我想从 mat 复选框继承所有属性和方法。不幸的是,我面临编译错误。您可以在下面找到 stackblitz 的链接,您可以在其中查看项目和错误本身
https://stackblitz.com/edit/angular-material-hulqfu?file=app%2Fcheckbox%2Fcheckbox.component.ts
请查看控制台中的错误。
【问题讨论】:
-
嗨,我看到了,你是 Angular 框架的新手,是吗?首先,您的 stackblitz 项目构建得很糟糕,您没有主模块 (AppModule)。所有组件都必须在核心或功能模块中声明。其次,我不确定您要执行什么,如果您想自定义复选框材质组件,您可以创建一个包装器组件并对其进行自定义。
-
没错,消息的原因是Angular的app.module必须知道组件。该项目不是使用 ng new ProjectName 创建的。
-
感谢大家的回复,首先@ChristianGálvez 我不是 Angular 世界的新手,stackblitz 只是为了展示我们在本地环境中需要做什么,所有声明都已完成,appModule 已完成相应地更新,John Peters,我们已经尝试过这种方法,但现在我们试图弄清楚我们是否可以直接从材料组件扩展
-
@ChristianGálvez 我已经更新了 stackblitz 现在你可以看到错误了。希望这是有道理的。
标签: javascript angular typescript inheritance angular-material