Angular全套知识讲解,错过必悔!
Angular、React、Vue被稱為前端三大框架,其中Angular在全球前端框架中排名第一,人氣最高!為了幫助更多的同學們快速學習前端高階技術,今天小千為各位小伙伴準備了前端Angular全套知識講解。首先是Angular框架介紹:
AngularJS 誕生于2009年,由Misko Hevery 等人創建,后為Google所收購。是一款優秀的前端JS框架,已經被用于Google的多款產品當中。AngularJS有著諸多特性,最為核心的是:MVC(Model–view–controller)、模塊化、自動化雙向數據綁定、語義化標簽、依賴注入等等。
AngularJS 是一個 JavaScript框架。它是一個以 JavaScript 編寫的庫。它可通過
任何Angular應用程序都由7個基本組成部分組成。這些是:組件、模板、元數據、數據綁定、指令、服務、依賴注入又名DI、組件。下面我們就Angular這7個基本組成部分進行一一解釋
1、組件
任何Angular應用程序都必須至少擁有一個組件。這稱為根組件。它通過組件層次結構與頁面DOM(文檔對象模型)對應連接起來。無論Angular應用程序具有多少組件,每個組件都定義了一個有關數據邏輯的類,組件在應用中扮演的角色取決于該組件的類。每個類都與一個HTML模板相關聯,該模板定義了界面視圖。在組件 @Component () 下定義的是裝飾器decorator,每個裝飾器都將特定類型的元數據附加到使用它們的原始類中,裝飾漆作用是讓系統知道這些類是什么以及它們應該做什么。
2、模板
顧名思義,這些是將HTML與Angular標記結合起來的,它們能夠在將HTML元素投射到屏幕上之前對其進行修改。模板利用管道來改善用戶體驗。管道通過轉換顯示值來實現。這僅僅意味著可以使用管道根據用戶的區域設置添加時間和貨幣等單位。Angular帶有大量預定義的管道。但是,也可以定義自己的管道。
3、元數據
類如何處理取決于元數據,類裝飾器用于將元數據附加到類。任何附加了@Component類裝飾器的類都稱為Component類。為了提供Angular創建組件所需的必要信息,類Decorator通過配置選項進行配置,這些配置選項是指令,選擇器和templateURL。
4、數據綁定
綁定標記負責將應用程序數據與DOM連接。有兩種類型的數據綁定,即:事件綁定 - 允許應用程序響應目標環境中的用戶輸入。它通過更新應用程序數據來實現。屬性綁定 - 允許插值,這些值是從應用程序數據計算到HTML中的。與用戶選擇一樣,DOM的變化會反映在程序數據中。這稱為[雙向數據綁定]。它是通過ngModel指令實現的。
5、指令
模板指令負責提供邏輯。在顯示視圖之前,Angular會評估指令并解析模板中存在的綁定語法,以便修改DOM和HTML元素。這是根據程序數據和邏輯完成的。有三種類型的指令:
屬性指令 - 修改組件,元素或其他指令的行為或外觀
組件 - 這些是帶有模板的指令
結構指令 - 通過添加或刪除DOM元素來修改DOM布局
6、服務
當需要某些與特定視圖無關的數據或邏輯時,將創建服務類。此外,這些數據或邏輯需要跨組件共享。服務類定義緊跟在@Injectable()裝飾器之前。它的作用是提供元數據,允許服務以依賴的形式注入客戶端組件。
7、依賴注入(DI)
簡單地說,DI可以使組件類保持精簡和高效。這使類能夠委派任務,例如從服務器獲取數據,直接登錄到控制臺,以及驗證用戶對服務的輸入。
Angular都有哪些優勢?介紹了Angular框架,下面我們再來介紹下它的優點:Angular有以下4個優點:
1、模板功能強大豐富,并且是聲明式的,自帶了豐富的Angular指令;
2、是一個比較完善的前端MV*框架,包含模板,數據雙向綁定,路由,模塊化,服務,過濾器,依賴注入等所有功能;
3、自定義Directive,比jQuery插件還靈活,但是需要深入了解Directive的一些特性,簡單的封裝容易,復雜一點官方沒有提供詳細的介紹文檔,我們可以通過閱讀源代碼來找到某些我們需要的東西,如:在directive使用 $parse;
4、比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復用的代碼,對于敏捷開發的團隊來說非常有幫助,我們的項目從上線到目前,UI變化很大,在摸索中迭代產品,但是js的代碼基本上很少改動。
簡單來說Angular是個真正意義上的框架,它給出了復雜應用會遇到的問題的解決方案,真正的一站式構建,省心。據說掌握了angular框架的前端,待遇也會高一些哦!
本文來自千鋒教育,轉載請注明出處。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Angular全套知识讲解,错过必悔!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript由哪三部分组成呢?
- 下一篇: 带你了解Java这么火爆的真实原因!