簡體   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