? ? ?關(guān)于為什么要學(xué)習(xí)Angular JS,在這里我必須要感謝波波和昌榮,學(xué)習(xí)這個(gè)是要向他們證明合冀,一些我認(rèn)為正確的東西。前后臺(tái)分離是一個(gè)趨勢(shì)氓仲,但是我們是不是真的掌握了里面的精華水慨。而是不是只是去效仿得糜,沒有真正掌握的時(shí)候,我們做的東西是不是符合實(shí)際場(chǎng)景晰洒。
? ? ? 對(duì)于我個(gè)人的認(rèn)為朝抖,前后端的分離。關(guān)鍵的并不是服務(wù)端代碼怎么去寫谍珊。而是JS和HTML代碼怎么寫治宣。JS端關(guān)注是數(shù)據(jù)綁定的問題,對(duì)于現(xiàn)狀我們了解的和編寫的是JSP數(shù)據(jù)綁定砌滞,將數(shù)據(jù)放入Model或者Request中侮邀,然后在JSP中通過JSTL或者EL表達(dá)式來綁定數(shù)據(jù)”慈螅或者通過JQuer里面的Ajax進(jìn)行局部數(shù)據(jù)刷新绊茧。這些真的是我們想要的JS,HTML和Service分離的精華嗎打掘?
? ? ? 我個(gè)人認(rèn)為的精華應(yīng)該是JS和HTML是一個(gè)模板數(shù)據(jù)华畏。就像我們以前定義Freemarker文件一樣,它只是一個(gè)模板尊蚁,然后通過程序去生成靜態(tài)文件亡笑。而我認(rèn)為的JS和HTML分離,就是JS和HTML分離横朋,然后JS和HTML就是可以在任何地方可以加入測(cè)試數(shù)據(jù)仑乌,提供給別人演示的網(wǎng)站。里面的數(shù)據(jù)可以通過Debug模式進(jìn)行分離琴锭。正式開發(fā)的時(shí)候只需要關(guān)閉Debug模式晰甚,然后加載正式數(shù)據(jù),展現(xiàn)頁(yè)面祠够。這個(gè)東東Jquyer可以實(shí)現(xiàn)压汪,但是如果元素在一點(diǎn)點(diǎn)添加,這樣的話古瓤,我們也會(huì)越來越復(fù)雜止剖。
? ? 其實(shí)JS真的是一個(gè)很牛逼的語(yǔ)言。一直在學(xué)習(xí)落君,但是從沒有精通過穿香,JS也有MVC模式,也有注入绎速,也有設(shè)計(jì)模式皮获,但是這些我們從來沒有使用過。為什么會(huì)說到JS MVC呢纹冤,因?yàn)樵谑褂肑S+HTML和業(yè)務(wù)分離的時(shí)候洒宝,JS MVC是一個(gè)重點(diǎn)购公,
MVC背后的核心理念是:你應(yīng)該把管理數(shù)據(jù)的代碼(Model),應(yīng)用邏輯代碼(Controller)雁歌,以及向用戶展示數(shù)據(jù)的代碼(View)清晰地分離開宏浩。
試圖從模型中獲得數(shù)據(jù),然后展現(xiàn)給用戶靠瞎,當(dāng)用戶通過鼠標(biāo)點(diǎn)擊或者鍵盤輸入與應(yīng)用進(jìn)行交換的時(shí)候比庄,控制層講會(huì)相應(yīng)并修改模型中的數(shù)據(jù)。最后模型會(huì)通知試圖數(shù)據(jù)已經(jīng)變更乏盐,這樣試圖救可以刷新其中的內(nèi)容佳窑。(PS:如果Jquery實(shí)現(xiàn)的話需要綁定各種事件,然后局部刷新)
在Angular應(yīng)用中父能,試圖就是Doucument Object Model(DOM神凑,文檔對(duì)象模型),控制層就是JavaScript類法竞,而模型數(shù)據(jù)則被存儲(chǔ)在對(duì)象書寫中耙厚,這樣我們就少了很多Bind事件了强挫。
JS和HTML以及Service分離不是我們說一下岔霸,我們想進(jìn)行分離操作就可以實(shí)現(xiàn)的,而是需要一些列的前期技術(shù)積累和框架的選擇俯渤。這些才是我們要去做的呆细,而不是一聲我們要分離開發(fā),就這樣趕鴨子上架八匠,我學(xué)習(xí)Angular是想證明這一點(diǎn)絮爷。如何使用代碼分離,如何將代碼最簡(jiǎn)單話梨树,如何實(shí)現(xiàn)你們拍腦袋決定下來的事情坑夯。
明天開始寫學(xué)習(xí)筆記。希望大家喜歡和支持