在這段代碼中,.value!and是@typescript-eslint/no-non-null-assertion做什么的?檔案對我來說太抽象了,無法連接到此按鈕行為的背景關系。
const submitButton = ref<HTMLButtonElement | null>(null);
//Disable button
/* eslint-disable @typescript-eslint/no-non-null-assertion */
submitButton.value!.disabled = true;
PS 只有編程才能板著臉說“no-non-null”。
uj5u.com熱心網友回復:
這!是一個打字稿非空斷言。它告訴打字稿“我知道它看起來value可能是空的,但相信我,它不是”。如果您知道 typescript 不知道的內容(在這種情況下,您可能知道在此代碼運行之前將填充 ref),這將很有用,但它本質上會關閉此行的型別檢查,因此可能會意外引入錯誤。
由于非空斷言是有風險的,因此有一條 lint 規則可以用來禁止它們的使用。lint 規則在啟用時會將這一行標記為問題。典型的解決方法是撰寫代碼來檢查 null,這樣就不需要斷言。但是如果你愿意,你可以告訴 eslint 不要檢查這一行,通過一個特殊的注釋比如/* eslint-disable @typescript-eslint/no-non-null-assertion */.
所以總而言之,這些行是在說“嘿打字稿,不要檢查這個。嘿,eslint,不要檢查這個”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/434318.html
標籤:javascript html 打字稿 Vue.js 埃斯林特
上一篇:在特定行下方添加一行
