簡體   English   中英

使用TypeScript從表單輸入中獲取值

[英]Getting a value from form input with TypeScript

我正在使用TypeScript在Angular 2中開發一個小應用程序,我遇到了一個問題。

假設我將變量num聲明為數字,並且我使用ngModel將其綁定到表單中的輸入框。 當我得到值,並檢查類型時,它實際上現在是一個字符串,而不再是一個數字,所以當檢查num >= 0 ,如果輸入包含空字符串,它實際上會返回true JavaScript行為。

現在這是TypeScript中的一個錯誤還是有一些方法可以獲得正確的數據類型? 我希望他們在幕后做適當的強制,所以我沒有必要。

編輯在這里插入

這不是TypeScript中的錯誤,這是一種正確的行為。

如果你宣布你的輸入像

<input type="number" placeholder="Payment" [(ngModel)]="payment" value="" />

看到type =“number”然后它將是一個數字。

順便說一下,我沒有給你們投票:p

只是想嘗試添加一些解釋:

在瀏覽器中不存在Typescript - 它沒有類型強制,沒有類型檢查沒有任何東西。 payment變量的類型由輸入類型和Angular確定(如Hung Cao所解釋)。

Typescript只能通過檢查你的類型來幫助你在編輯器和javascript編譯階段。

如果使用TS創建庫並聲明:

const myVariable: SomeClassOfMine;

然后我在不同的項目中使用它,我可以這樣做:

myVariable = 1;

並且沒有警告/錯誤。 事實上,瀏覽器不了解您的SomeClassOfMine類型。

只記得在瀏覽器(或節點)中不存在TS,它仍然是JS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM