大家好,我是IT修真院武漢第10期學(xué)員,一枚正直、純潔、善良的前端程序員。
今天給大家分享一下,修真院官網(wǎng)任務(wù)js-8,深度思考的知識(shí)點(diǎn)——angular的核心思想是什么?怎么體現(xiàn)在代碼里?
1.背景介紹
AngularJS[1] 誕生于2009年,由Misko Hevery 等人創(chuàng)建,后為Google所收購。是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。AngularJS有著諸多特性,最為核心的是:MVC、模塊化、自動(dòng)化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等等。
2.知識(shí)剖析
AngularJS是為了克服HTML在構(gòu)建應(yīng)用上的不足而設(shè)計(jì)的。HTML是一門很好的偽靜態(tài)文本展示設(shè)計(jì)的聲明式語言,但要構(gòu)建WEB應(yīng)用的話它就顯得乏力了。所以我做了一些工作(你也可以覺得是小花招)來讓瀏覽器做我想要的事。通常,我們是通過js來解決靜態(tài)網(wǎng)頁技術(shù)在構(gòu)建動(dòng)態(tài)應(yīng)用上的不足;但是原生js代碼量會(huì)很大;
類庫 - 類庫是一些函數(shù)的集合,它能幫助你寫WEB應(yīng)用。起主導(dǎo)作用的是你的代碼,由你來決定何時(shí)使用類庫。類庫有:jQuery等;
框架 - 框架是一種特殊的、已經(jīng)實(shí)現(xiàn)了的WEB應(yīng)用,你只需要對(duì)它填充具體的業(yè)務(wù)邏輯。這里框架是起主導(dǎo)作用的,由它來根據(jù)具體的應(yīng)用邏輯來調(diào)用你的代碼。目前比較流行的有angular,vue,React,
3.常見問題
什么是mvc框架?
4.解決方案
MVC全名是Model View Controller;一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。MVC 模式同時(shí)提供了對(duì) HTML、CSS 和 JavaScript 的完全控制。
5.編碼實(shí)戰(zhàn)
6.擴(kuò)展思考
MVC與MVVM區(qū)別?
在MVC里,View是可以直接訪問Model的!從而,View里會(huì)包含Model信息,不可避免的還要包括一些業(yè)務(wù)邏輯。 MVC模型關(guān)注的是Model的不變,所以,在MVC模型里,Model不依賴于View,但是 View是依賴于Model的。不僅如此,因?yàn)橛幸恍I(yè)務(wù)邏輯在View里實(shí)現(xiàn)了,導(dǎo)致要更改View也是比較困難的,至少那些業(yè)務(wù)邏輯是無法重用的。
7.參考文獻(xiàn)
8.更多討論
詳情請(qǐng)看:
問1:MVC與MVVM區(qū)別?
答:mvvm算是mvc的升級(jí)版!angular就是mvvm的代表;
問2:angular的亮點(diǎn)和過人之處?
答:1.代碼組織結(jié)構(gòu)清晰;2.功能模塊易測(cè)試;3.雙向綁定
問3:angular.js跟angular2的有什么關(guān)系?
答:雷鋒跟雷峰塔的關(guān)系,JavaScript跟java的關(guān)系;第二代跟第一代完全不一樣。。。。