Vue 與jQuery的對比

2021-10-23 11:49:56 字數 3546 閱讀 2442

很多人說jquey和vue沒有什麼可比的,應該和angular,react來比吧,我到覺得他們倒沒有多大的可比性,都是基於mvvm思想設計的框架,無非就是實現的方式不一樣,在不同場景下效能上會有一些差異。然而從jquery到vue或者說是到mvvm的轉變則是乙個思想想的轉變,是將原有的直接操作dom的思想轉變到運算元據上去。

想必大家都用過jquery吧,這個曾經也是現在依然最流行的web前端js庫,可是現在無論是國內還是國外他的使用率正在漸漸被其他的js庫所代替,隨著瀏覽器廠商對html5規範統一遵循以及ecma6在瀏覽器端的實現,jquery的使用率將會越來越低

vue是乙個興起的前端js庫,是乙個精簡的mvvm。從技術角度講,vue.js 專注於 mvvm 模型的 viewmodel 層。它通過雙向資料繫結把 view 層和 model 層連線了起來,通過對資料的操作就可以完成對頁面檢視的渲染。當然還有很多其他的mvmm框架如angular,react都是大同小異,本質上都是基於mvvm的理念。 然而vue以他獨特的優勢簡單,快速,組合,緊湊,強大而迅速崛起

jquery是使用選擇器($)選取dom物件,對其進行賦值、取值、事件繫結等操作,其實和原生的html的區別只在於可以更方便的選取和操作dom物件,而資料和介面是在一起的。比如需要獲取label標籤的內容:$(「lable」).val();,它還是依賴dom元素的值。

vue則是通過vue物件將資料和view完全分離開來了。對資料進行操作不再需要引用相應的dom物件,可以說資料和view是分離的,他們通過vue物件這個vm實現相互的繫結。這就是傳說中的mvvm。

場景一:列表新增乙個元素,下圖為vue和jquery兩種操作的**,我們從中可以看出vue只需要向資料message裡面push一條資料即可完成新增乙個li標籤的操作,而jquery則需要獲取dom元素節點,並對dom進行新增乙個標籤的操作,如果dom結構特別複雜,或者新增的元素非常複雜,則**會變得非常複雜且閱讀性低

vue:

<

!doctype html>

"content-type" content=

"text/html; charset=utf-8"

/>

<

/head>

>

<

!--根據陣列資料自動渲染頁面--

>

for=

"item in message"

>

}<

/li>

<

/ul>

"add"

>新增資料<

/button>

<

/div>

<

/body>

"">

<

/script>

newvue(,

methods:}}

)<

/script>

jquery:

<

!doctype html>

"content-type" content=

"text/html; charset=utf-8"

/>

<

/head>

>

"list"

>

第1條資料<

/li>

第2條資料<

/li>

<

/ul>

"add"

>新增資料<

/button>

<

/div>

<

/body>

"">

<

/script>

$(document)

.ready

(function()

);})

;<

/script>

場景二:控制按鈕的顯示隱藏,下圖為vue和jquery兩種操作的**,我們從中可以看出vue只需要控制屬性isshow的值為true和false即可,而jquery則還是需要操作dom元素控制按鈕的顯示和隱藏

vue:

<

!doctype html>

"content-type" content=

"text/html; charset=utf-8"

/>

<

/head>

>

<

!--根據陣列資料自動渲染頁面--

>

for=

"item in message"

>

}<

/li>

<

/ul>

"add" v-show=

"isshow"

>新增資料<

/button>

"showbutton"

>隱藏按鈕<

/button>

<

/div>

<

/body>

"">

<

/script>

newvue(,

methods:

,//控制isshow的值即可

showbutton:

function()

}})<

/script>

jquery:

<

!doctype html>

"content-type" content=

"text/html; charset=utf-8"

/>

<

/head>

>

"list"

>

第1條資料<

/li>

第2條資料<

/li>

<

/ul>

"add"

>新增資料<

/button>

"showbutton"

>隱藏按鈕<

/button>

<

/div>

<

/body>

"">

<

/script>

$(document)

.ready

(function()

);//需要手動隱藏dom元素$(

"#showbutton").

click

(function()

)});

<

/script>

內容講的比較淺,主要就是分析一下vue和jquey對比的區別,上面兩個例子只是做了乙個簡單的說明,然而vue能解決的問題遠比這些要多的多,複雜的多。

vue適用的場景:複雜資料操作的後台頁面,表單填寫頁面

jquery適用的場景:比如說一些html5的動畫頁面,一些需要js來操作頁面樣式的頁面

然而二者也是可以結合起來一起使用的,vue側重資料繫結,jquery側重樣式操作,動畫效果等,則會更加高效率的完成業務需求

jQuery與Vue的對比

jquery是很早就出現的乙個封裝原生js的庫,而vue則是最近幾年流行的mvvm框架。那麼,vue到底比jquery好在哪兒呢?一 開發者只需運算元據 1.資料與檢視的分離 解耦 jq的資料與檢視混在一塊,vue的資料與檢視分離。2.資料驅動檢視。jq直接用js修改檢視,vue以資料驅動檢視。這樣...

Vue對比jQuery的優勢

jquery到vue的轉變是乙個思想的轉變,將原有的直接操作dom的思想轉變到運算元據上 jquery是使用選擇器 選取dom物件,對其進行賦值,取值,事件繫結等,而vue則是通過vue物件viewmodel將資料和view完全分離開了。對資料操作不再需要引用相應的dom物件,即資料和view是分離...

js與Jquery的對比

3 jquery實現顯示隱藏 id css display none id css display block 或 id 0 style.display none id 返回的是jquery 它是個集合肯定有display屬性 id show 表示display block,id hide 表示di...