【Angularjs系列】Angularjs項目中切換js到ts(下)

前面一篇文章說了如果將已有的js切換到ts,這篇文章會說項目中如果來了新的需求,如何用ts寫新增的需求。

我們還是以ts & html & less爲結構,如下:比如這次我們做活動案例添加了一個component組件,這裏稍微說一下,最好都用component不要用controller,component複用性比較強且angular 2 +以後都是用的component,如果,我是說如果以後能夠升級,那也能節省不少時間,但是目前項目中已有的controller不能改成component,因爲我們項目中用的ui-router 0.2.x版本,這個版本的路由不支持component,只有ui-router 1.x.x才支持,所以路由那一塊的還是得用controller,不涉及路由引用的都可以用component。(以後可以考慮升級ui-router):

activityTemplate.component.ts: 看到了吧,全部強類型,沒有js轉換到ts用的any類型,可以定義類型interface, 這樣開發起來方便,不容易出錯,也有vscode的智能提示,這裏需要注意的是ng下面定義了很多接口類型,所以引用ng下面的component,controller接口即可,包括angularjs裏面的組件生命週期也已暴露接口。

然後在module裏面註冊的時候,是new一個class構造器,這和之前的直接const一個component不同,需要注意:

vipServices.controller.ts:消費者是一個controller,VIP 服務,可以看到這裏注入了一個service通過$inject靜態變量,然後構造裏面強類型這個服務,接着就可以用了

vipServices.html:html模板直接引用之前的component,傳入@input data,當然也可以@output events,這和angular 2一樣方便:

基本上就這些,習慣了寫起來就很方便了,是不是感覺正在寫angular 2+ app!

參考文章: https://brianflove.com/2016/12/26/typing-up-your-angular-1-app/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章