很多人說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...