vuejs模板從根本上規(guī)定了一個(gè)系統(tǒng)應(yīng)當(dāng)以怎樣的交互形式和UI風(fēng)格面向使用者,而遵循這套模板進(jìn)行設(shè)計(jì)和完善功能;其作用為:1、擔(dān)負(fù)XSS的防范;2、支持片段的復(fù)用;3、支持?jǐn)?shù)據(jù)輸出是的處理;4、支持動(dòng)態(tài)數(shù)據(jù);5、與異步流程嚴(yán)密結(jié)合。
本教程操作環(huán)境:windows7系統(tǒng)、vue2.9.6版,DELL G3電腦。
因?yàn)閂ue.js是建立在視圖層的技術(shù),所以Vue.js的模板系統(tǒng)是非常重要的功能之一。對(duì)于展現(xiàn)給用戶(hù)的視圖頁(yè)面,需要提供最佳的用戶(hù)體驗(yàn)和性能,而Vue.js提供了非常方便和適用的模板系統(tǒng),使得它受到了廣大開(kāi)發(fā)者的追棒和歡迎。
一、什么是模板系統(tǒng)
任何一個(gè)用于Web編寫(xiě)或者面向使用者的應(yīng)用必定有模板的存在。模板從根本上規(guī)定了一個(gè)系統(tǒng)應(yīng)當(dāng)以怎樣的交互形式和UI風(fēng)格面向使用者,而遵循這套模板進(jìn)行設(shè)計(jì)和完善功能,也是軟件開(kāi)發(fā)的基本模式。
但是,如果對(duì)所有的頁(yè)面都根據(jù)模板進(jìn)行單一頁(yè)面的編寫(xiě),則幾乎是不可能的。因?yàn)橐粋€(gè)系統(tǒng)不應(yīng)該只有幾個(gè)靜態(tài)頁(yè)面,隨著內(nèi)容和用戶(hù)的增加,其頁(yè)面應(yīng)該是無(wú)限多的。而為了解決這個(gè)問(wèn)題,便出現(xiàn)了新的技術(shù)——模板引擎。通過(guò)不同的數(shù)據(jù)和內(nèi)容,加上一個(gè)統(tǒng)一的模板(格式),就可以得到一個(gè)屬于一個(gè)用戶(hù)或者一個(gè)內(nèi)容的定制頁(yè)面,不但減少了大量的編碼量,也極大地方便了將來(lái)可能對(duì)于樣式的更新?lián)Q代。
嚴(yán)格的模板引擎的定義是,輸入模板字符+數(shù)據(jù),得到渲染過(guò)的字符串(頁(yè)面),實(shí)現(xiàn)上,從正則替換的方式到拼寫(xiě)字符串直接輸入,再到AST解析,存在各種輸出頁(yè)面內(nèi)容的方式,但從定義上來(lái)說(shuō)都是差不多的。
如果讀者學(xué)習(xí)過(guò)JavaScript或者其它Web開(kāi)發(fā)語(yǔ)言,一定要嘗試或在后端渲染出HTML頁(yè)面內(nèi)容,并返回至前端頁(yè)面,通過(guò)這樣的手段來(lái)進(jìn)行用戶(hù)頁(yè)面的更新。但是用渲染出來(lái)的字符串替換innerHtml是一個(gè)效率很低的更新方式。這樣的模板引擎在如今純前端情境下已經(jīng)不再是好的選擇。
這是為什么呢,因?yàn)楹蠖朔?wù)器的資源是有限的,并且對(duì)數(shù)據(jù)的處理是隨著用戶(hù)數(shù)量的增加而疊加的,用戶(hù)的每一次操作,頁(yè)面渲染都是在消耗服務(wù)器資源,少量的用戶(hù)操作或許不會(huì)導(dǎo)致服務(wù)器卡頓,但是當(dāng)出現(xiàn)成千上萬(wàn)甚至