最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解jquery和vue對比

 更新時間:2019年04月16日 14:07:54   作者:綠茶/  
這篇文章主要介紹了jquery和vue對比,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言:很多人說jquey和vue沒有什么可比的,應該和Angular,React來比吧,我到覺得他們倒沒有多大的可比性,都是基于mvvm思想設計的框架,無非就是實現(xiàn)的方式不一樣,在不同場景下性能上會有一些差異。然而從jquery到vue或者說是到mvvm的轉(zhuǎn)變則是一個思想想的轉(zhuǎn)變,是將原有的直接操作dom的思想轉(zhuǎn)變到操作數(shù)據(jù)上去,難道不是一個根本性的改變嗎?

1.jquery介紹:想必大家都用過jquery吧,這個曾經(jīng)也是現(xiàn)在依然最流行的web前端js庫,可是現(xiàn)在無論是國內(nèi)還是國外他的使用率正在漸漸被其他的js庫所代替,隨著瀏覽器廠商對HTML5規(guī)范統(tǒng)一遵循以及ECMA6在瀏覽器端的實現(xiàn),jquery的使用率將會越來越低

2.vue介紹:vue是一個興起的前端js庫,是一個精簡的MVVM。從技術角度講,Vue.js 專注于 MVVM 模型的 ViewModel 層。它通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來,通過對數(shù)據(jù)的操作就可以完成對頁面視圖的渲染。當然還有很多其他的mvmm框架如Angular,React都是大同小異,本質(zhì)上都是基于MVVM的理念。 然而vue以他獨特的優(yōu)勢簡單,快速,組合,緊湊,強大而迅速崛起

3.vue和jquey對比

jQuery是使用選擇器($)選取DOM對象,對其進行賦值、取值、事件綁定等操作,其實和原生的HTML的區(qū)別只在于可以更方便的選取和操作DOM對象,而數(shù)據(jù)和界面是在一起的。比如需要獲取label標簽的內(nèi)容:$("lable").val();,它還是依賴DOM元素的值。

Vue則是通過Vue對象將數(shù)據(jù)和View完全分離開來了。對數(shù)據(jù)進行操作不再需要引用相應的DOM對象,可以說數(shù)據(jù)和View是分離的,他們通過Vue對象這個vm實現(xiàn)相互的綁定。這就是傳說中的MVVM。

4.舉例說明

場景一:列表添加一個元素,下圖為vue和jquery兩種操作的代碼,我們從中可以看出vue只需要向數(shù)據(jù)message里面push一條數(shù)據(jù)即可完成添加一個li標簽的操作,而jquery則需要獲取dom元素節(jié)點,并對dom進行添加一個標簽的操作,如果dom結構特別復雜,或者添加的元素非常復雜,則代碼會變得非常復雜且閱讀性低

vue:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>

<body>
  <div id="app">
    <ul>
      <!--根據(jù)數(shù)組數(shù)據(jù)自動渲染頁面-->
      <li v-for="item in message">{{item}}</li>
    </ul>
    <button @click="add">添加數(shù)據(jù)</button>
  </div>
</body>

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
  new Vue({
    el: '#app',
    data: {
      message: ["第1條數(shù)據(jù)","第2條數(shù)據(jù)"],
      i:2
    },
    methods:{
      //向數(shù)組添加一條數(shù)據(jù)即可
      add:function(){
        this.i++
        this.message.push("第"+this.i+"條數(shù)據(jù)")
      }
    }
  })
</script>

jquery:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>

<body>
  <div id="app">
    <ul id="list">
      <li>第1條數(shù)據(jù)</li>
      <li>第2條數(shù)據(jù)</li>
    </ul>
    <button id="add">添加數(shù)據(jù)</button>
  </div>

</body>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
  $(document).ready(function() { 
  var i=2;
  $('#add').click(function() { 
    i++; 
    //通過dom操作在最后一個li元素后手動添加一個標簽
   $("#list").children("li").last().append("<li>第"+i+"條數(shù)據(jù)</li>")
  }); 
 }); 
</script>

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

vue:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>

<body>
  <div id="app">
    <ul>
      <!--根據(jù)數(shù)組數(shù)據(jù)自動渲染頁面-->
      <li v-for="item in message">{{item}}</li>
    </ul>
    <button @click="add" v-show="isShow">添加數(shù)據(jù)</button>
    <button @click="showButton">隱藏按鈕</button>
  </div>
</body>

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script>
  new Vue({
    el: '#app',
    data: {
      message: ["第1條數(shù)據(jù)","第2條數(shù)據(jù)"],
      i:2,
      isShow:true
    },
    methods:{
      //向數(shù)組添加一條數(shù)據(jù)即可
      add:function(){
        this.i++
        this.message.push("第"+this.i+"條數(shù)據(jù)")
      },
      //控制isShow的值即可
      showButton:function(){
        this.isShow=false;
      }
    }
  })
</script>

 jquery:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>

<body>
  <div id="app">
    <ul id="list">
      <li>第1條數(shù)據(jù)</li>
      <li>第2條數(shù)據(jù)</li>
    </ul>
    <button id="add">添加數(shù)據(jù)</button>
    <button id="showButton">隱藏按鈕</button>
  </div>

</body>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
  $(document).ready(function() { 
  var i=2;
  $('#add').click(function() { 
    i++; 
    //通過dom操作在最后一個li元素后手動添加一個標簽
   $("#list").children("li").last().append("<li>第"+i+"條數(shù)據(jù)</li>")
  }); 
  //需要手動隱藏dom元素
  $("#showButton").click(function(){
    $("#add").hide()
  })
 }); 
</script>

 輸出結果:

4.總結:內(nèi)容講的比較淺,主要就是分析一下vue和jquey對比的區(qū)別,上面兩個例子只是做了一個簡單的說明,然而vue能解決的問題遠比這些要多的多,復雜的多。

 vue適用的場景:復雜數(shù)據(jù)操作的后臺頁面,表單填寫頁面

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

然而二者也是可以結合起來一起使用的,vue側重數(shù)據(jù)綁定,jquery側重樣式操作,動畫效果等,則會更加高效率的完成業(yè)務需求

5. 附上公司前端目錄結構,感興趣的可以分享代碼給大家看看

 src代碼目錄包含assets靜態(tài)文件,components vue組件文件,plugins 插件文件(包含登錄操作,http請求操作,過濾器,加解密操作,公共方法等),router 路由文件,store vuex文件,app.js vue相關配置,index.html主頁面

build目錄為webpack打包文件,dist目錄為打包后生成的文件,node_modules 引用的外部組件

以上所述是小編給大家介紹的jquery和vue對比詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • VUE+Java實現(xiàn)評論回復功能

    VUE+Java實現(xiàn)評論回復功能

    這篇文章主要為大家詳細介紹了VUE+Java實現(xiàn)評論回復功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue+element實現(xiàn)手機號驗證碼注冊的示例

    vue+element實現(xiàn)手機號驗證碼注冊的示例

    本文主要介紹了vue+element實現(xiàn)手機號驗證碼注冊的示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決

    vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決

    這篇文章主要介紹了vue中ts無法識別引入的vue文件,提示找不到xxx.vue模塊的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3快速diff算法的處理過程

    Vue3快速diff算法的處理過程

    傳統(tǒng)的?DOM?更新方法會在有新舊子節(jié)點時卸載舊節(jié)點并掛載新節(jié)點,這種方法沒有考慮到節(jié)點的復用可能性,diff?算法通過比較新舊節(jié)點的差異來復用節(jié)點,從而優(yōu)化性能,本文給大家介紹了Vue3快速diff算法的處理過程,需要的朋友可以參考下
    2024-05-05
  • .env在mode文件中如何添加注釋詳解

    .env在mode文件中如何添加注釋詳解

    這篇文章主要為大家介紹了.env在mode文件中如何添加注釋詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • vue如何禁止打開調(diào)試模式方法

    vue如何禁止打開調(diào)試模式方法

    這篇文章主要介紹了vue如何禁止打開調(diào)試模式方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vite創(chuàng)建一個標準vue3+ts+pinia項目

    vite創(chuàng)建一個標準vue3+ts+pinia項目

    本文主要介紹了vite創(chuàng)建一個標準vue3+ts+pinia項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • 詳解Vue計算屬性原理

    詳解Vue計算屬性原理

    計算屬性是Vue中比較好用的API,開發(fā)者可以利用計算屬將復雜的計算進行緩存,同時基于它的響應式特性,我們無需關注數(shù)據(jù)更新問題,但需要注意的是,計算屬性是惰性求值的,本文將詳細介紹計算屬性的實現(xiàn)原理,需要的朋友可以參考下
    2023-05-05
  • vue2路由基本用法實例分析

    vue2路由基本用法實例分析

    這篇文章主要介紹了vue2路由基本用法,結合實例形式分析了vue2路由基本功能、原理、用法與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • vue3動態(tài)加載對話框的方法實例

    vue3動態(tài)加載對話框的方法實例

    對話框是很常用的組件,在很多地方都會用到,下面這篇文章主要給大家介紹了關于vue3動態(tài)加載對話框的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03

最新評論

广水市| 宝山区| 庐江县| 霸州市| 英山县| 贡嘎县| 扎赉特旗| 景洪市| 镶黄旗| 密山市| 清镇市| 黄陵县| 天水市| 景东| 平陆县| 西青区| 蓬莱市| 湖南省| 公安县| 徐汇区| 景东| 天全县| 湘阴县| 靖江市| 无为县| 扎兰屯市| 安远县| 大英县| 垦利县| 南安市| 富阳市| 宣武区| 乌兰浩特市| 大余县| 东港市| 永春县| 丹巴县| 阿拉善右旗| 宁晋县| 贵定县| 南投县|