2

我使用的是TypeScript幾乎全部的客戶端項目。目前我正面臨技術問題。TypeScript構建錯誤:屬性在'IStateParamsService'類型上不存在

在我的HTML,我有一個錨標記象下面這樣:

<a class="btn btn-default mrm" ui-sref="course-detail({courseId: '{{c.Id}}'})">Details</a> 

在我的課程細節控制,我在stateparam變量中獲得的值。但是如果我想從該變量訪問我的'courseId',它會給我構建錯誤。請檢查下面的圖片。

TypeScript Code with Build Error

但如果我刪除if塊,然後我得到的日誌中類似下面的開發者控制檯。

Console Log by commenting the build error code

我得課程ID屬性和值繼續進行。否則,我需要以純粹的angularjs編寫這個控制器,這是我不想要的。謝謝。

回答

6

Typescript傾向於通過括號符號[]明確地處理地圖。

如果你想獲得一個領域了,你應該使用,而不是點符號方括號地圖狀物體:

if (this.param['courseId'] === "00000....0000") { 
    //.. rest of the code 

這應該解決你面臨的緊迫的問題。

+0

爲什麼?我討厭括號記號,這對我來說很醜。 我可以禁用嗎? –

相關問題