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

Vue的watch和computed方法的使用及區(qū)別介紹

 更新時間:2018年09月06日 09:25:29   作者:鎮(zhèn)  
Vue的watch屬性可以用來監(jiān)聽data屬性中數(shù)據(jù)的變化。這篇文章主要介紹了Vue的watch和computed方法的使用及區(qū)別,需要的朋友可以參考下

Vue的watch屬性

Vue的watch屬性可以用來監(jiān)聽data屬性中數(shù)據(jù)的變化

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="lib/vue.min.js"></script>
    <script src="lib/vue-router-3.0.1.js"></script>
  </head>
  <body>
    <div id="app">
      <input type="text" v-model="firstname" />
    </div>
    <script type="text/javascript">
      var vm = new Vue({
        el:"#app",
        data:{
          firstname:"",
          lastname:""
        },
        methods:{},
        watch:{
          firstname:function(){
            console.log(this.firstname)
          }
        }
      })
    </script>
  </body>
</html>

可以從上述代碼中實踐得知,輸入框內的值變化多少次,控制臺就會打印多少次

同時還可以直接在監(jiān)聽的function中使用參數(shù)來獲取新值與舊值

watch:{
          firstname:function(newValue,OldValue){
            console.log(newValue);
            console.log(OldValue);
          }
        }

其中第一個參數(shù)是新值,第二個參數(shù)是舊值

同時Watch還可以被用來監(jiān)聽路由router的變化,只是這里的監(jiān)聽的元素是固定的

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="lib/vue.min.js"></script>
    <script src="lib/vue-router-3.0.1.js"></script>
    <style type="text/css">
    </style>
  </head>
  <body>
    
    <div id="app">
      <!--
        由于Vue-router的hash匹配原則所以我們需要在原定義的路徑上加一個#號
      -->
<!--      <a href="#/login" rel="external nofollow" >登錄</a>
      <a href="#/register" rel="external nofollow" >注冊</a>-->
      <router-link to="/login" tag="span">登錄</router-link>
      <router-link to="/register">注冊</router-link>
      <router-view></router-view>
    </div>
  </body>
  <script>
    var login={
      template:'<h1>登錄組件</h1>'
    }
    var register={
      template:'<h1>注冊組件</h1>'
    }
    var routerObj = new VueRouter({
      routes:[
      //此處的component只能使用組件對象,而不能使用注冊的模板的名稱
        {path:"/login",component:login},
        {path:"/register",component:register}
      ]
    })
    var vm = new Vue({
      el:'#app',
      data:{
      },
      methods:{
        
      },
      router:routerObj,//將路由規(guī)則對象注冊到VM實例上
      watch:{
        '$route.path':function(newValue,OldValue){
            console.log(newValue);
            console.log(OldValue);
        }
      }
    })
  </script>
</html>

計算屬性Computed的作用

computed屬性的作用與watch類似,也可以監(jiān)聽屬性的變化

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="lib/vue.min.js"></script>
    <script src="lib/vue-router-3.0.1.js"></script>
  </head>
  <body>
    <div id="app">
      <input type="text" v-model="firstname" />
      <input type="text" v-model="lastname" />
      <input type="text" v-model="fullname" />
    </div>
    <script type="text/javascript">
      var vm = new Vue({
        el:"#app",
        data:{
          firstname:"",
          lastname:""
        },
        methods:{},
/*       watch:{
          firstname:function(newValue,OldValue){
            console.log(newValue);
            console.log(OldValue);
          }
        }*/
        computed:{
          fullname:function(){
            return this.firstname +"-"+this.lastname
          }
        }
      })
    </script>
  </body>
</html>

只是他會根據(jù)他依賴的屬性,生成一個屬性,讓vm對象可以使用這個屬性

methods,watch,computed的區(qū)別

  1. computed 屬性的結果會被緩存,除非依賴的響應式屬性變化才會重新計算。主要當作屬性來使用;
  2. methods 方法表示一個具體的操作,主要書寫業(yè)務邏輯;
  3. watch 一個對象,鍵是需要觀察的表達式,值是對應回調函數(shù)。主要用來監(jiān)聽某些特定數(shù)據(jù)的變化,從而進行某些具體的業(yè)務邏輯操作;可以看作是 computed 和 methods 的結合體;

總結

以上所述是小編給大家介紹的Vue的watch和computed方法的使用及區(qū)別介紹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • 基于Vue + Axios實現(xiàn)全局Loading自動顯示關閉效果

    基于Vue + Axios實現(xiàn)全局Loading自動顯示關閉效果

    在vue項目中,我們通常會使用Axios來與后臺進行數(shù)據(jù)交互,而當我們發(fā)起請求時,常常需要在頁面上顯示一個加載框(Loading),然后等數(shù)據(jù)返回后自動將其隱藏,本文介紹了基于Vue + Axios實現(xiàn)全局Loading自動顯示關閉效果,需要的朋友可以參考下
    2024-03-03
  • vue3 axios安裝及使用示例詳解

    vue3 axios安裝及使用示例詳解

    這篇文章主要介紹了vue3 axios安裝及使用示例代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Vue打包路徑配置過程

    Vue打包路徑配置過程

    這篇文章主要介紹了Vue打包路徑配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Element-plus使用中遇到的問題小結

    Element-plus使用中遇到的問題小結

    表格數(shù)據(jù)是websocket通信獲取的數(shù)據(jù),首次獲取20條數(shù)據(jù),以后新增訂閱獲取一條,新增一條則向上滑動顯示最新數(shù)據(jù),本文給大家介紹Element-plus使用中遇到的問題小結,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • vue 實現(xiàn)LED數(shù)字時鐘效果(開箱即用)

    vue 實現(xiàn)LED數(shù)字時鐘效果(開箱即用)

    這篇文章主要介紹了vue 實現(xiàn)LED數(shù)字時鐘效果(開箱即用),每一個數(shù)字由七個元素構成,即每一個segment元素,本文給大家分享實現(xiàn)實例,感興趣的朋友一起看看吧
    2019-12-12
  • Vue.js項目中管理每個頁面的頭部標簽的兩種方法

    Vue.js項目中管理每個頁面的頭部標簽的兩種方法

    這篇文章主要介紹了Vue.js項目中管理每個頁面的頭部標簽的兩種方法,需要的朋友可以參考下
    2018-06-06
  • Vue.extend 編程式插入組件的實現(xiàn)

    Vue.extend 編程式插入組件的實現(xiàn)

    這篇文章主要介紹了Vue.extend 編程式插入組件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • vue?注釋template中組件的屬性說明

    vue?注釋template中組件的屬性說明

    這篇文章主要介紹了vue?注釋template中組件的屬性說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue 實現(xiàn)點擊空白處隱藏某節(jié)點的三種方式(指令、普通、遮罩)

    Vue 實現(xiàn)點擊空白處隱藏某節(jié)點的三種方式(指令、普通、遮罩)

    最近小編接到這樣的需求:彈出框(或Popover)在 show 后,點擊空白處可以將其 hide。針對這個需求,小編整理了三種實現(xiàn)方式,如果大家對vue 點擊空白隱藏節(jié)點問題感興趣的朋友跟隨小編一起看看吧
    2019-10-10
  • 源碼分析Vue3響應式核心之effect

    源碼分析Vue3響應式核心之effect

    這篇文章主要為大家詳細介紹了Vue3響應式核心之effect的相關知識,文中的示例代碼講解詳細,對我們學習Vue3有一定的幫助,需要的可以參考一下
    2023-04-04

最新評論

连州市| 八宿县| 明溪县| 毕节市| 岳池县| 云安县| 措美县| 荣昌县| 西乡县| 九江市| 临汾市| 台中市| 右玉县| 陆川县| 宁津县| 会东县| 庆元县| 彭阳县| 砚山县| 延津县| 湘乡市| 天气| 刚察县| 郴州市| 女性| 阳朔县| 河西区| 平邑县| 陵水| 科尔| 郎溪县| 屯昌县| 吉木乃县| 宣城市| 荆州市| 祁连县| 交城县| 广昌县| 隆子县| 鄯善县| 黑水县|