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

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

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

前言

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

watch 實(shí)現(xiàn)案例

  <!-- 準(zhǔn)備好一個(gè)容器-->
    <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 在啟動(dòng)時(shí)生成生產(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通過(guò)監(jiān)視data中的firstName和lastName的變化改變fullName

computed 實(shí)現(xiàn)案例

<body>
    <!-- 準(zhǔn)備好一個(gè)容器-->
    <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 在啟動(dòng)時(shí)生成生產(chǎn)提示。
    const vm = new Vue({
      el: '#root',
      data: {
        firstName: '張',
        lastName: '三',
      },
      computed: {
        fullName() {
          return this.firstName + '-' + this.lastName
        },
      },
    })

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

對(duì)比

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

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

相關(guān)文章

  • Vue router的addRoute方法實(shí)現(xiàn)控制權(quán)限方法詳解

    Vue router的addRoute方法實(shí)現(xiàn)控制權(quán)限方法詳解

    這篇文章主要介紹了vue動(dòng)態(tài)路由添加,vue-router的addRoute方法實(shí)現(xiàn)權(quán)限控制流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • Vue3中局部組件和全局組件的使用教程詳解

    Vue3中局部組件和全局組件的使用教程詳解

    這篇文章主要為大家學(xué)習(xí)介紹了Vue3中局部組件和全局組件的使用方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以學(xué)習(xí)一下
    2023-07-07
  • vue3如何監(jiān)視Reactive對(duì)象中的屬性

    vue3如何監(jiān)視Reactive對(duì)象中的屬性

    文章介紹了Vue.js中的`watch`函數(shù),它可以監(jiān)聽(tīng)不同的數(shù)據(jù)源類型,包括ref、響應(yīng)式對(duì)象、getter函數(shù)和數(shù)組,文章詳細(xì)說(shuō)明了如何監(jiān)聽(tīng)單個(gè)數(shù)據(jù)的屬性值和多個(gè)屬性值,并強(qiáng)調(diào)了使用getter函數(shù)的重要性,此外,還提到了深度偵聽(tīng)的注意事項(xiàng)
    2026-01-01
  • Vue動(dòng)態(tài)添加class可能帶來(lái)的問(wèn)題解讀(被覆蓋)

    Vue動(dòng)態(tài)添加class可能帶來(lái)的問(wèn)題解讀(被覆蓋)

    文章討論了在使用Vue.js時(shí),通過(guò)動(dòng)態(tài)class修改元素樣式時(shí)可能會(huì)遇到的問(wèn)題,當(dāng)通過(guò)JavaScript動(dòng)態(tài)添加類時(shí),Vue的動(dòng)態(tài)class會(huì)覆蓋掉通過(guò)JavaScript添加的類,導(dǎo)致樣式丟失,這個(gè)問(wèn)題在實(shí)際開(kāi)發(fā)中可能會(huì)遇到,尤其是在使用第三方框架
    2024-12-12
  • vue自動(dòng)添加瀏覽器兼容前后綴操作

    vue自動(dòng)添加瀏覽器兼容前后綴操作

    這篇文章主要介紹了vue自動(dòng)添加瀏覽器兼容前后綴操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • Vue3中插槽slot的使用方法詳解

    Vue3中插槽slot的使用方法詳解

    在Vue?3中,插槽(slot)是一種強(qiáng)大的內(nèi)容分發(fā)API,它允許組件的模板開(kāi)發(fā)者定義一種插槽,下面就跟隨小編一起來(lái)學(xué)習(xí)一下它的具體使用吧
    2024-11-11
  • vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問(wèn)題(最新方法)

    vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問(wèn)題(最新方法)

    這篇文章主要介紹了vue自定義密碼輸入框解決瀏覽器自動(dòng)填充密碼的問(wèn)題,通過(guò)將密碼輸入框的type設(shè)置為text,修改樣式上的顯示,來(lái)實(shí)現(xiàn)既可以讓瀏覽器不自動(dòng)填充密碼,又可以隱藏密碼的效果,需要的朋友可以參考下
    2023-04-04
  • Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    這篇文章主要介紹了Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Vue3?單文件中不同的組件

    Vue3?單文件中不同的組件

    在Vue?3的單文件組件(.vue?文件)中,組件可以從多個(gè)層面來(lái)理解,下面我將詳細(xì)說(shuō)明哪些部分算是組件,以及如何識(shí)別它們,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • 詳解vue 計(jì)算屬性與方法跟偵聽(tīng)器區(qū)別(面試考點(diǎn))

    詳解vue 計(jì)算屬性與方法跟偵聽(tīng)器區(qū)別(面試考點(diǎn))

    這篇文章主要介紹了詳解vue 計(jì)算屬性與方法跟偵聽(tīng)器區(qū)別(面試考點(diǎn)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

安义县| 丰原市| 平乐县| 巴林左旗| 梧州市| 闽清县| 漳浦县| 屯昌县| 龙门县| 图木舒克市| 揭东县| 奇台县| 宁夏| 绥芬河市| 阜宁县| 曲水县| 射阳县| 陆河县| 财经| 乡城县| 平顶山市| 方正县| 繁昌县| 额尔古纳市| 呼玛县| 平遥县| 团风县| 电白县| 罗田县| 丹巴县| 剑川县| 万全县| 资阳市| 安丘市| 绥化市| 炎陵县| 沧源| 尚志市| 金堂县| 阿合奇县| 九龙坡区|