繁体   English   中英

Angular 库基础 class 没有任何装饰器但使用 Angular 功能

[英]Angular Library base class without any decorator but using Angular features

我在 Angular 迁移指南中遇到了这个问题。

https://angular.io/guide/migration-undecorated-classes

我是图书馆作者。 我应该将 @Directive() 装饰器添加到基类吗?

由于 Angular 版本 9 中引入了对无选择器装饰器的支持,如果您想支持 Angular 版本 8 及更早版本,则不应添加无选择器 @Directive() 装饰器。 您可以使用选择器添加 @Directive() 或将特定于 Angular 的功能移动到受影响的子类。

然后我检查了我们的代码库,发现有些基类仍然没有任何装饰器,但在 Angular V11 中运行。 我没有看到任何编译错误或 linting 错误。

有许多这样的基类使用 angular 特性、主机绑定等,但仍然没有装饰器。 是否有 linting 规则或某种方法可以捕捉到这些?

后来我发现,使用 Ivy 编译器,这样的没有装饰器的类在编译时会被捕获: NG2007: Class 正在使用 Angular 功能,但没有装饰。 请添加一个显式的 Angular 装饰器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM