特點
- angular是一個不完全的mvvm前端框架,使用typescript編寫腳本,適合編寫大型項目.
M:data+邏輯; V:template;VM:綁定在template上的data.完全的mvvm框架:
1632883642(1).jpg
M中是不能直接修改dom的,但是M里面實際上是能修改dom.雖然Angular不推薦這么做.
- 語法上比較嚴謹,比如使用typescript編寫,屬性和方法支持訪問修飾關鍵詞,輸入屬性和輸出屬性通過裝飾器標記.
使用typescript的好處有:
結合VS code,靜態類型檢查能提前發現數據類型相關的錯誤
可以定義接口和抽象類,屬性有訪問修飾符
使用裝飾器,擴展功能
- 代碼組織上:復用性強,邏輯封裝在service內;通過service注入到組件,組件之間還可以共享數據;
- 結構清晰:每個模塊使用module管理
- 擴展性比較強,因為支持定義接口和抽象類;
- 實踐上比較全面,內置了路由/狀態管理等功能.
- 異步編程方面特別方便,rxjs庫有非常豐富的接口.
- 使用大量的裝飾器,大到NgModule,小到屬性,都用到了裝飾器.
裝飾器
工作原理
組件之間如何通訊
rxjs
變更檢查
Angular工作原理:https://zhuanlan.zhihu.com/p/93242237