我開始使用ASP.NET-MVC框架的新項目。我想在這個項目中使用TypeScript代替JavaScript。 TypeScript很容易被Visual Studio支持,但似乎不能(完全)與.cshtml razor文件兼容。我可以在.ts文件中創建我的類並在我的.cshtml文件中調用這些類,問題是當我將參數傳遞給.cshtml文件中的對象時,TypeSafety被忽略,並且函數運行得如同類型從未被定義。.cshtml中的TypeScript Razor文件
的.ts文件
export class SomeClass {
name: number;
constructor(public tName: number) {
this.name = tName;
}
public sayName() {
alert(this.name);
}
}
.cshtml文件
var instance = new SomeClass("Timmy");
instance.sayName();
正如你所看到的,我傳遞一個字符串構造函數,即使我明確定義的參數,只接受數字,但TypeSafely被忽略,TypeScript/JavaScript執行就好像沒有問題一樣。
這兩種文件類型都是由微軟發明的,所以我略微感到驚訝,他們彼此之間並沒有更友好的關係。這不是世界末日,至少我仍然能夠使用面向對象的編程,我只是好奇,如果有其他人已經經歷了這一點,並可以給我一個簡短的解釋。
我以爲tsc會用'.ts'擴展名編譯(Transpile)代碼。我錯了嗎 ? – Shyju