欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue2.x版本中computed和watch的使用及關聯(lián)和區(qū)別

 更新時間:2022年07月01日 17:04:40   作者:程序員布歐  
這篇文章主要介紹了vue2.x版本中computed和watch的使用及關聯(lián)和區(qū)別,文章圍繞主題展開詳細的內(nèi)容介紹,需要的小伙伴可以參考一下

前言

前面篇介紹了computed和watch的基本使用vue2.x版詳解computed和watch的使用

兩者的區(qū)別,繼續(xù)通過代碼實現(xiàn)的方式具體去了解

html

<li>最開始的value值:{{ name }}</li>
<li>computed計算后的值:{{ computedName }}</li>
<li>
	watch修改后的值:{{ watchName }}
	<input type="text" v-model="watchName" />
</li>
<li><button @click="handleNumber">修改名字</button></li>

JS

data() {
	return {
		name: "zhangsan",
		watchName: "張三",
	};
},
watch: {
	watchName(newVal, oldVal) {
		console.log("舊的值---->", newVal);
		console.log("新的值---->", oldVal);
		console.log("watch下所有的狀態(tài)都會監(jiān)聽this.name---->", this.name);
		console.log(
			"watch下所有的狀態(tài)都會監(jiān)聽this.computedName---->",
			this.computedName
		);
		this.watchName = newVal;
	},
},
computed: {
	computedName: function (currentThis) {
		console.log(
			"和計算屬性無關的狀態(tài)發(fā)生更改時,不會執(zhí)行,只要依賴的狀態(tài)發(fā)生更改,緩存才會更新",
			currentThis
		);
		return `依賴于name,:${this.name}`;
	},
},
methods: {
	handleNumber() {
		this.name = "lisi";
	},
},

區(qū)別

依賴值: computed依賴于所使用的狀態(tài),類似在data中聲明的name,
而watch中監(jiān)聽的值不依賴于某個值,只要組件狀態(tài)發(fā)生更改,監(jiān)聽的值就實時獲取最新值,
computed的實現(xiàn)使用的是getter和setter獲取值,屬于同步操作。

使用方法:

  • computed最后需要進行return處理返回值,并且可以使用更深層次的getter和setter,具體參考 vue2.x版詳解computed和watch的使用
  • watch除了callback回調(diào)函數(shù)外,還有兩個屬性值為布爾值的屬性,用于首次綁定immediate,以及對對象的深度監(jiān)聽deep
  • 兩者相同點就是可以通過方法參數(shù)獲取新值,結合其他狀態(tài)處理相關的業(yè)務

補充

在官方文檔中,除了在組件中使用的watch外,官方文檔中,還有對于示例中watch的介紹

具體用法可以在官網(wǎng)中:

 https://cn.vuejs.org/v2/api/#vm-watch

$watch基礎使用–來自官方文檔例子

官方文檔提示:

注意:在變更 (不是替換) 對象或數(shù)組時,舊值將與新值相同,因為它們的引用指向同一個對象/數(shù)組。Vue 不會保留變更之前值的副本。

vm.$watch('a.b.c', function (newVal, oldVal) {
  // 做點什么
})
// 函數(shù)
vm.$watch(
  function () {
    // 表達式 `this.a + this.b` 每次得出一個不同的結果時
    // 處理函數(shù)都會被調(diào)用。
    // 這就像監(jiān)聽一個未被定義的計算屬性
    return this.a + this.b
  },
  function (newVal, oldVal) {
    // 做點什么
  }
)

需要注意的是,如果使用vm.$watch,那么使用unwatch有助于我們?nèi)∠麑δ硞€狀態(tài)的監(jiān)聽,減少不必要的監(jiān)聽和交互開銷

var unwatch = vm.$watch('a', cb)
// 之后取消觀察
unwatch()

結語

花了兩個篇幅去介紹watch和computed的使用方法,以及這兩個鉤子函數(shù)的區(qū)別,在實際的企業(yè)項目開發(fā)中,使用的場景和次數(shù)較多,所以盡量寫的稍微詳細一些,同時也將筆記的代碼放在了開源倉庫,希望對大家在開發(fā)vue2.x的項目中有所幫助

到此這篇關于vue2.x版本中computed和watch的使用及關聯(lián)和區(qū)別的文章就介紹到這了,更多相關vue2.x computed與watch 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • elementplus?card?懸浮菜單的實現(xiàn)

    elementplus?card?懸浮菜單的實現(xiàn)

    本文主要介紹了elementplus?card?懸浮菜單的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • vuex 解決報錯this.$store.commit is not a function的方法

    vuex 解決報錯this.$store.commit is not a function的方法

    這篇文章主要介紹了vuex 解決報錯this.$store.commit is not a function的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue.js 使用axios實現(xiàn)下載功能的示例

    vue.js 使用axios實現(xiàn)下載功能的示例

    下面小編就為大家分享一篇vue.js 使用axios實現(xiàn)下載功能的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看
    2018-03-03
  • 基于vuejs+webpack的日期選擇插件

    基于vuejs+webpack的日期選擇插件

    這篇文章主要為大家詳細介紹了基于vuejs+webpack的日期選擇插件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Vue 全家桶實現(xiàn)移動端酷狗音樂功能

    Vue 全家桶實現(xiàn)移動端酷狗音樂功能

    這篇文章主要介紹了Vue 全家桶實現(xiàn)移動端酷狗音樂功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • vue項目使用lodash節(jié)流防抖函數(shù)問題解決方案

    vue項目使用lodash節(jié)流防抖函數(shù)問題解決方案

    在lodash函數(shù)工具庫中,防抖 _.debounce 和節(jié)流 _.throttle 函數(shù)在一些頻繁觸發(fā)的事件中比較常用,這篇文章主要介紹了vue項目使用lodash節(jié)流防抖函數(shù)問題與解決,需要的朋友可以參考下
    2023-10-10
  • Vue ECharts簡易實現(xiàn)雷達圖

    Vue ECharts簡易實現(xiàn)雷達圖

    這篇文章主要介紹了基于Vue ECharts簡易實現(xiàn)雷達圖,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • 詳解vue-validator(vue驗證器)

    詳解vue-validator(vue驗證器)

    本篇文章主要介紹了vue-validator(vue驗證器),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Vue中的驗證登錄狀態(tài)的實現(xiàn)方法

    Vue中的驗證登錄狀態(tài)的實現(xiàn)方法

    這篇文章主要介紹了Vue中的驗證登錄狀態(tài)的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Vue-Router模式和鉤子的用法

    Vue-Router模式和鉤子的用法

    本篇文章主要介紹了Vue-Router模式和鉤子的用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02

最新評論