新聞中心
我喜歡 Vue。當(dāng)我在 2016 年第一次接觸它時(shí),也許那時(shí)我已經(jīng)對(duì) JavaScript 框架感到疲勞了,因?yàn)槲乙呀?jīng)具有Backbone、Angular、React 等框架的經(jīng)驗(yàn),沒有太多的熱情去嘗試一個(gè)新的框架。直到我在 Hacker News 上讀到一份評(píng)論,其描述 Vue 是類似于“新 jQuery” 的 JavaScript 框架,從而激發(fā)了我的好奇心。在那之前,我已經(jīng)相當(dāng)滿意 React 這個(gè)框架,它是一個(gè)很好的框架,建立于可靠的設(shè)計(jì)原則之上,圍繞著視圖模板、虛擬 DOM 和狀態(tài)響應(yīng)等技術(shù)。而 Vue 也提供了這些重要的內(nèi)容。

在這篇文章中,我旨在解釋為什么 Vue 適合我,為什么在上文中那些我嘗試過的框架中選擇它。也許你將同意我的一些觀點(diǎn),但至少我希望能夠給大家使用 Vue 開發(fā)現(xiàn)代 JavaScript 應(yīng)用一些靈感。
1、 極少的模板語法
Vue 默認(rèn)提供的視圖模板語法是極小的、簡潔的和可擴(kuò)展的。像其他 Vue 部分一樣,可以很簡單的使用類似 JSX 一樣語法,而不使用標(biāo)準(zhǔn)的模板語法(甚至有官方文檔說明了如何做),但是我覺得沒必要這么做。JSX 有好的方面,也有一些有依據(jù)的批評(píng),如混淆了 JavaScript 和 HTML,使得很容易導(dǎo)致在模板中出現(xiàn)復(fù)雜的代碼,而本來應(yīng)該分開寫在不同的地方的。
Vue 沒有使用標(biāo)準(zhǔn)的 HTML 來編寫視圖模板,而是使用極少的模板語法來處理簡單的事情,如基于視圖數(shù)據(jù)迭代創(chuàng)建元素。
- {{ number }}
ul {padding: 0;li {list-style-type: none;color: blue;}}
我也喜歡 Vue 提供的簡短綁定語法,: 用于在模板中綁定數(shù)據(jù)變量,@ 用于綁定事件。這是一個(gè)細(xì)節(jié),但寫起來很爽而且能夠讓你的組件代碼簡潔。
2、 單文件組件
大多數(shù)人使用 Vue,都使用“單文件組件”。本質(zhì)上就是一個(gè) .vue 文件對(duì)應(yīng)一個(gè)組件,其中包含三部分(CSS、HTML和JavaScript)。
這種技術(shù)結(jié)合是對(duì)的。它讓人很容易在一個(gè)單獨(dú)的地方了解每個(gè)組件,同時(shí)也非常好的鼓勵(lì)了大家保持每個(gè)組件代碼的簡短。如果你的組件中 JavaScript、CSS 和 HTML 代碼占了很多行,那么就到了進(jìn)一步模塊化的時(shí)刻了。
在使用 Vue 組件中的 標(biāo)簽時(shí),我們可以添加 scoped 屬性。這會(huì)讓整個(gè)樣式完全的封裝到當(dāng)前組件,意思是在組件中如果我們寫了 .name 的 css 選擇器,它不會(huì)把樣式應(yīng)用到其他組件中。我非常喜歡這種方式來應(yīng)用樣式而不是像其他主要框架流行在 JS 中編寫 CSS 的方式。
關(guān)于單文件組件另一個(gè)好處是 .vue 文件實(shí)際上是一個(gè)有效的 HTML 5 文件。、


咨詢
建站咨詢