亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別及實現(xiàn)案例

 更新時間:2023年05月29日 10:26:53   作者:前端小二哥  
watch和computed是vue實例對象中的兩個重要屬性,watch是監(jiān)視屬性,用來監(jiān)視vue實例對象上屬性和方法的變化,computed被稱為計算屬性,可以將data對象中的屬性進(jìn)行計算得到新的屬性,這篇文章主要介紹了watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別,需要的朋友可以參考下

前言

watch 和 computed 是vue實例對象中的兩個重要屬性,watch是監(jiān)視屬性,用來監(jiān)視vue實例對象上屬性和方法的變化,computed被稱為計算屬性,可以將data對象中的屬性進(jìn)行計算得到新的屬性;由于watch屬性監(jiān)視data對象中的屬性變化時,也能拿到data對象中的屬性進(jìn)行計算;因此產(chǎn)生疑問既然兩者都能實現(xiàn)同一功能,兩者有什么區(qū)別呢?下面將以此疑問為突破點結(jié)合實例詳述兩者的區(qū)別;

watch 實現(xiàn)案例

  <!-- 準(zhǔn)備好一個容器-->
    <div id="root">
      姓:<input type="text" v-model="firstName" /> <br /><br />
      名:<input type="text" v-model="lastName" /> <br /><br />
      全名:<span>{{fullName}}</span> <br /><br />
    </div>
  </body>
  <script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在啟動時生成生產(chǎn)提示。
    const vm = new Vue({
      el: '#root',
      data: {
        firstName: '張',
        lastName: '三',
        fullName: '張-三',
      },
      watch: {
        firstName(val) {
          setTimeout(() => {
            this.fullName = val + '-' + this.lastName
          }, 1000)
        },
        lastName(val) {
          setTimeout(() => {
            this.fullName = this.firstName + '-' + val
          }, 1000)
        },
      },
    })
  </script>

以上為watch通過監(jiān)視data中的firstName和lastName的變化改變fullName

computed 實現(xiàn)案例

<body>
    <!-- 準(zhǔn)備好一個容器-->
    <div id="root">
      姓:<input type="text" v-model="firstName" /> <br /><br />
      名:<input type="text" v-model="lastName" /> <br /><br />
      全名:<span>{{fullName}}</span> <br /><br />
    </div>
  </body>
  <script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在啟動時生成生產(chǎn)提示。
    const vm = new Vue({
      el: '#root',
      data: {
        firstName: '張',
        lastName: '三',
      },
      computed: {
        fullName() {
          return this.firstName + '-' + this.lastName
        },
      },
    })

以上為通過computed計算屬性實現(xiàn)fullName和firstName、lastName產(chǎn)生聯(lián)系;

對比

通過對比可以看出,watch和computed都能實現(xiàn)相同的功能,但是首先第一眼看去,computed計算屬性實現(xiàn)的案例明顯代碼更少更精簡;但是watch能將fullName的變化改成異步;因此對watch和computed屬性做出如下總結(jié):
1、computed能完成的功能watch也能完成
2、watch能完成的功能computed不一定能完成,比如watch可以進(jìn)行異步操作;
??注意:
1.所被Vue管理的函數(shù),最好寫成普通函數(shù),這樣this的指向才是vm 或 組件實例對象。
2.所有不被Vue所管理的函數(shù)(定時器的回調(diào)函數(shù)、ajax的回調(diào)函數(shù)等、Promise的回調(diào)函數(shù)),最好寫成箭頭函數(shù),這樣this的指向才是vm 或 組件實例對象。

到此這篇關(guān)于watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別的文章就介紹到這了,更多相關(guān)watch(監(jiān)視屬性)和computed(計算屬性)的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中使用v-if隱藏元素時會出現(xiàn)閃爍問題的解決

    vue中使用v-if隱藏元素時會出現(xiàn)閃爍問題的解決

    這篇文章主要介紹了vue中使用v-if隱藏元素時會出現(xiàn)閃爍問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解vue中的computed的this指向問題

    詳解vue中的computed的this指向問題

    這篇文章主要介紹了詳解vue中的computed的this指向問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue中動態(tài)路由加載組件,找不到module問題及解決

    vue中動態(tài)路由加載組件,找不到module問題及解決

    這篇文章主要介紹了vue中動態(tài)路由加載組件,找不到module問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue基礎(chǔ)之事件簡寫、事件對象、冒泡、默認(rèn)行為、鍵盤事件實例分析

    vue基礎(chǔ)之事件簡寫、事件對象、冒泡、默認(rèn)行為、鍵盤事件實例分析

    這篇文章主要介紹了vue基礎(chǔ)之事件簡寫、事件對象、冒泡、默認(rèn)行為、鍵盤事件,結(jié)合實例形式分析了vue.js事件簡寫、冒泡及阻止冒泡等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • IOS上微信小程序密碼框光標(biāo)離開提示存儲密碼的完美解決方案

    IOS上微信小程序密碼框光標(biāo)離開提示存儲密碼的完美解決方案

    ios密碼框輸入密碼光標(biāo)離開之后會提示存儲密碼的彈窗,關(guān)于這樣的問題怎么解決呢,下面給大家分享IOS上微信小程序密碼框光標(biāo)離開提示存儲密碼的完美解決方案,感興趣的朋友一起看看吧
    2024-07-07
  • Vue2實現(xiàn)組件props雙向綁定

    Vue2實現(xiàn)組件props雙向綁定

    這篇文章主要為大家詳細(xì)介紹了如何在Vue2中實現(xiàn)組件props雙向綁定,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Vue跨端渲染實現(xiàn)多端無縫銜接

    Vue跨端渲染實現(xiàn)多端無縫銜接

    這篇文章主要介紹了Vue跨端渲染實現(xiàn)多端無縫銜接,Vue跨端渲染是一種基于Vue框架的跨平臺開發(fā)技術(shù),能夠?qū)崿F(xiàn)Web、iOS和Android三端的無縫銜接,提高開發(fā)效率和用戶體驗
    2023-05-05
  • vue結(jié)合leaflet實現(xiàn)鷹眼圖

    vue結(jié)合leaflet實現(xiàn)鷹眼圖

    本文主要介紹了vue結(jié)合leaflet實現(xiàn)鷹眼圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • vue+iview動態(tài)渲染表格詳解

    vue+iview動態(tài)渲染表格詳解

    這篇文章主要為大家詳細(xì)介紹了vue+iview動態(tài)渲染表格的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Vue3+Element?Plus使用svg加載iconfont的處理方法

    Vue3+Element?Plus使用svg加載iconfont的處理方法

    這篇文章主要介紹了Vue3+Element?Plus使用svg加載iconfont的解決方案,本文詳細(xì)介紹了如何在Element?Plus中使用iconfont,簡單的說就是要將其封裝成SVG,并且支持動態(tài)修改顏色,需要的朋友可以參考下
    2022-08-08

最新評論