成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Vue.js為什么不支持templateUrl模式

TalkingData / 1265人閱讀

摘要:首先,它允許我們能夠編寫一個(gè)分離的文件作為模板,這樣子我們就能在編輯的時(shí)候看到正確的語法高亮,這也是很多開發(fā)者喜歡的原因注我覺得這是因?yàn)楝F(xiàn)在的人越來越懶,越來越依賴的原因。

這篇文章是翻譯的Vue.js的官方blog,最后加了些自己的理解。

原文地址:Why Vue.js doesn"t support templateURL

很多Vue的新手,特別是使用過Angular的都會(huì)問“我能不能用 templateURL”,由于回答了太多次了,所以作者決定記下來。

Angular的世界里,templateURL 或者 ng-include 允許使用者在運(yùn)行時(shí)動(dòng)態(tài)的加載遠(yuǎn)程模板文件,這個(gè)看起來很方便,作為一個(gè)自帶功能,但是讓我們來重新審視下這個(gè)功能。

首先,它允許我們能夠編寫一個(gè)分離的html文件作為模板,這樣子我們就能在編輯的時(shí)候看到正確的語法高亮,這也是很多開發(fā)者喜歡的原因(注:我覺得這是因?yàn)楝F(xiàn)在的人越來越懶,越來越依賴IDE的原因)。但是分離你的js和html代碼真的是個(gè)好主意么?在Vue.js的組件中,js和html天然緊耦合,事實(shí)上,這些代碼在一個(gè)文件更簡單易懂。在2個(gè)文件中來回切換上下文邏輯實(shí)際上讓開發(fā)者更不爽。在vue的概念里,組件才是vue.js的基本構(gòu)建單位,并不是模板文件。每一個(gè)vue.js的模板都伴隨著他的好基友js,分離他們太過于殘忍了。

其次,因?yàn)?strong>templateURL是在運(yùn)行時(shí)通過ajax的方式加載模板,不需要構(gòu)建步驟為了你分離的文件。開發(fā)的時(shí)候,這很爽,但是上線部署的時(shí)候,你就麻煩了。在HTTP2.0沒有大面積支持前,HTTP的請(qǐng)求數(shù)仍然是頁面加載的最關(guān)鍵因素。想象一下,在你的網(wǎng)站中,每個(gè)組件都是用templateURL,那么頁面出來前,你可能需要加載幾十個(gè)HTTP請(qǐng)求??赡苣悴⒉恢?,大多數(shù)的瀏覽器是限制同一域名的并發(fā)請(qǐng)求數(shù)量的。當(dāng)你超過這個(gè)限額的時(shí)候,你頁面的初始渲染時(shí)間就得等待每次請(qǐng)求的返回。當(dāng)然,有工具可以幫助你提前注冊(cè)你所有的模板,但是這就多了一個(gè)構(gòu)建步驟,事實(shí)上,這就是大型網(wǎng)站的必然趨勢(shì)。

那么,在沒有templateURL的情況下,我們?cè)趺刺幚黹_發(fā)環(huán)境問題呢?
在js里面拼接字符串是很爛的做法,使用

閱讀需要支付1元查看
<