vue基础-简介
1、前后端分離
當(dāng)我們基于B/S模式進(jìn)行web開發(fā)的時(shí)候,也許已經(jīng)是前后端分離的,但是前后端分離顯然不能這么簡單的理解,我的意思其實(shí)是前后端分離的必要性,也許在一開始的時(shí)候就開始體現(xiàn)了。但是真正的原因肯定還是體現(xiàn)在項(xiàng)目實(shí)踐中的。主要是基于開發(fā)模式的適用場景,開發(fā)效率和職責(zé)的問題。基于前后端分離開發(fā)模式,是的前端所能肩負(fù)的職責(zé)也更加的廣泛了,前后端的職責(zé)也更加的分明了,前端主要負(fù)責(zé) View 和 Controller 層,后端主要負(fù)責(zé) Model 層,業(yè)務(wù)處理/數(shù)據(jù)等。
2、Vue的優(yōu)點(diǎn)在哪
既然前端做的事越來越多了,隨著node的出現(xiàn),是飽受爭議的,不過我們不管這點(diǎn),只關(guān)心它可以讓前端代碼在不依賴于瀏覽器的條件下可以跑起來了,這就然一些別有用心的人開始設(shè)計(jì)了前端的框架。在這兩年里前端的技術(shù)十分流行,而vue呢,在github上的star數(shù)也是一路高歌,超過了react成為了第一,在三足鼎立的前端框架中,我理解的Vue為什么能夠成為這樣火的主要原因就是Vue的學(xué)習(xí)成本最低。下面說說vue相對于jquery好在那里,在以往的前端編程中,我們從后端獲取數(shù)據(jù)后需要將數(shù)據(jù)展示給用戶使用,這個(gè)過程中我們要操作大量的DOM,并且在統(tǒng)計(jì)來看,30% - 70%的編程都是用來操作DOM, 而采用Vue之后操作DOM這一部分操作大多交由Vue框架來處理,我們編程本身不用處理過多的DOM, 這得益于MVVM模式,雖然說Vue并不完全是采用的MVVM,但是它借鑒了很多這種理念,采用數(shù)據(jù)驅(qū)動(dòng)模型的方式,讓開發(fā)者可以或者說盡可能的將精力放到數(shù)據(jù)的處理上,而不是多的關(guān)心DOM的操作。
3、Vue的MVVM模式
我們經(jīng)常看到的是一個(gè)典型的MVC模式。Model 呈現(xiàn)數(shù)據(jù),View 呈現(xiàn)用戶界面,而 View Controller 調(diào)節(jié)它兩者之間的交互。雖然 View 和 View Controller 是技術(shù)上不同的組件,但它們幾乎總是手牽手在一起,成對的。你什么時(shí)候看到一個(gè) View 能夠與不同 View Controller 配對?或者反過來?所以,為什么不正規(guī)化它們的連接呢?下面是mvc 和 mvp模式之前的區(qū)別。MVC:
MVP:
MVC提出者所理解的MVC是這樣的:
對于不同的應(yīng)用開發(fā)中其實(shí)存在著不同的mvc模式,例如IOS。.net和SpringMVC的描述就哥不相同, 不過后來的MVP和MVVM不過是早期MVC的衍生物罷了, 各層做的事情還是相同的, 不過各層之間的連接發(fā)生了改變而已,那么言歸正傳。
在Vue中MVVM主要是體現(xiàn)在這里的:
其中viewmodel這一部分的東西是交由vue去托管的,也就是通過數(shù)據(jù)去驅(qū)動(dòng)的。所以我們關(guān)心的重點(diǎn)就偏移到了model中來了。
總結(jié)