2
我這裏的問題只接受預定義值的是,我在收到一個字符串值作爲參數傳遞給一個組成部分,但我想限制可以作爲一個參數的值,就像枚舉如何在角@input
我用
@Input() type: string = '';
但在組件,什麼都可以引入'類型的財產,我需要的是限制爲僅3個選項,正如我之前所說的,像一個枚舉
我這裏的問題只接受預定義值的是,我在收到一個字符串值作爲參數傳遞給一個組成部分,但我想限制可以作爲一個參數的值,就像枚舉如何在角@input
我用
@Input() type: string = '';
但在組件,什麼都可以引入'類型的財產,我需要的是限制爲僅3個選項,正如我之前所說的,像一個枚舉
創建Enum和設置您的的類型10到枚舉。你的價值將被傳遞,如果它是在枚舉值之一,否則將undefined
enum MyEnum {
First,
Second,
Third
}
@Input() type: MyEnum;
試試這個:
@Input() type: 'acceptable1' | 'acceptable2' | 'acceptable3';
這裏使用了打字稿聯合類型,允許任何列出的類型。 a或b或c等
或使用TS enum
這取決於你所說的「限制」,並在您預計什麼時候警告/錯誤是扔了的東西。一個簡單的解決方案是隻是爲了檢查你的組件上的值,並拋出一個異常,如果它們是無效的。如果你正在尋找一個編譯時的解決方案,然後在最起碼你需要的角度是在編譯時(即AOT)轉換你的模板腳本 - 在這種情況下,簡單地輸入的輸入值可能工作 - 即使用打字稿限制類型。 –