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

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

 更新時(shí)間: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>

可以從上述代碼中實(shí)踐得知,輸入框內(nèi)的值變化多少次,控制臺就會(huì)打印多少次

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

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

其中第一個(gè)參數(shù)是新值,第二個(gè)參數(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匹配原則所以我們需要在原定義的路徑上加一個(gè)#號
      -->
<!--      <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實(shí)例上
      watch:{
        '$route.path':function(newValue,OldValue){
            console.log(newValue);
            console.log(OldValue);
        }
      }
    })
  </script>
</html>

計(jì)算屬性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>

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

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

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

總結(jié)

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

相關(guān)文章

  • 基于Vue + Axios實(shí)現(xiàn)全局Loading自動(dòng)顯示關(guān)閉效果

    基于Vue + Axios實(shí)現(xiàn)全局Loading自動(dòng)顯示關(guān)閉效果

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

    vue3 axios安裝及使用示例詳解

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

    Vue打包路徑配置過程

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

    Element-plus使用中遇到的問題小結(jié)

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

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

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

    Vue.js項(xiàng)目中管理每個(gè)頁面的頭部標(biāo)簽的兩種方法

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

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

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

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

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

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

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

    源碼分析Vue3響應(yīng)式核心之effect

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

最新評論

浙江省| 泽普县| 玛多县| 三门峡市| 章丘市| 安福县| 镇雄县| 宜都市| 崇州市| 景泰县| 江华| 洱源县| 吉林市| 成都市| 襄樊市| 大渡口区| 富阳市| 吉林省| 合山市| 北宁市| 阿鲁科尔沁旗| 鱼台县| 甘洛县| 确山县| 彭州市| 尼木县| 宝坻区| 花莲市| 铁岭市| 龙泉市| 驻马店市| 德昌县| 陆良县| 鄱阳县| 榕江县| 中宁县| 诸暨市| 普陀区| 眉山市| 辽阳县| 隆昌县|