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

關(guān)于Vue中的watch監(jiān)視屬性

 更新時間:2023年04月22日 11:04:33   作者:風(fēng)落不歸處  
這篇文章主要介紹了關(guān)于Vue中的watch監(jiān)視屬性,Vue中的watch默認(rèn)不監(jiān)視對象內(nèi)部值的改變,當(dāng)被監(jiān)視的屬性變化時,回調(diào)函數(shù)自動調(diào)用,進(jìn)行相關(guān)操作,需要的朋友可以參考下

一、監(jiān)視屬性watch

1.當(dāng)被監(jiān)視的屬性變化時,回調(diào)函數(shù)自動調(diào)用,進(jìn)行相關(guān)操作

2.監(jiān)視的屬性必須存在,才能進(jìn)行監(jiān)視

3.監(jiān)視的兩種寫法

(1)new Vue時傳入watch配置

(2)通過vm.$watch監(jiān)視

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>天氣案例_監(jiān)視屬性</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
				監(jiān)視屬性watch:
					1.當(dāng)被監(jiān)視的屬性變化時, 回調(diào)函數(shù)自動調(diào)用, 進(jìn)行相關(guān)操作
					2.監(jiān)視的屬性必須存在,才能進(jìn)行監(jiān)視??!
					3.監(jiān)視的兩種寫法:
							(1).new Vue時傳入watch配置
							(2).通過vm.$watch監(jiān)視
		 -->
		<!-- 準(zhǔn)備好一個容器-->
		<div id="root">
			<h2>今天天氣很{{info}}</h2>
			<button @click="changeWeather">切換天氣</button>
		</div>
	</body>
 
	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在啟動時生成生產(chǎn)提示。
		
		const vm = new Vue({
			el:'#root',
			data:{
				isHot:true,
			},
			computed:{
				info(){
					return this.isHot ? '炎熱' : '涼爽'
				}
			},
			methods: {
				changeWeather(){
					this.isHot = !this.isHot
				}
			},
			/* watch:{
				isHot:{
					immediate:true, //初始化時讓handler調(diào)用一下
					//handler什么時候調(diào)用?當(dāng)isHot發(fā)生改變時。
					handler(newValue,oldValue){
						console.log('isHot被修改了',newValue,oldValue)
					}
				}
			} */
		})
 
		vm.$watch('isHot',{
			immediate:true, //初始化時讓handler調(diào)用一下
			//handler什么時候調(diào)用?當(dāng)isHot發(fā)生改變時。
			handler(newValue,oldValue){
				console.log('isHot被修改了',newValue,oldValue)
			}
		})
	</script>
</html>

二、深度監(jiān)視

1.Vue中的watch默認(rèn)不監(jiān)視對象內(nèi)部值的改變(一層)

2.配置deep:true可以監(jiān)視對象內(nèi)部值的改變(多層)

備注:

  • vue自身可以監(jiān)視對象內(nèi)部值的改變,但vue提供的watch默認(rèn)不可以
  • 使用watch時根據(jù)數(shù)據(jù)的具體結(jié)構(gòu),決定是否采用深度監(jiān)視

天氣案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>天氣案例_深度監(jiān)視</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
				深度監(jiān)視:
						(1).Vue中的watch默認(rèn)不監(jiān)測對象內(nèi)部值的改變(一層)。
						(2).配置deep:true可以監(jiān)測對象內(nèi)部值改變(多層)。
				備注:
						(1).Vue自身可以監(jiān)測對象內(nèi)部值的改變,但Vue提供的watch默認(rèn)不可以!
						(2).使用watch時根據(jù)數(shù)據(jù)的具體結(jié)構(gòu),決定是否采用深度監(jiān)視。
		 -->
		<!-- 準(zhǔn)備好一個容器-->
		<div id="root">
			<h2>今天天氣很{{info}}</h2>
			<button @click="changeWeather">切換天氣</button>
			<hr/>
			<h3>a的值是:{{numbers.a}}</h3>
			<button @click="numbers.a++">點(diǎn)我讓a+1</button>
			<h3>b的值是:{{numbers.b}}</h3>
			<button @click="numbers.b++">點(diǎn)我讓b+1</button>
			<button @click="numbers = {a:666,b:888}">徹底替換掉numbers</button>
			{{numbers.c.d.e}}
		</div>
	</body>
 
	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在啟動時生成生產(chǎn)提示。
		
		const vm = new Vue({
			el:'#root',
			data:{
				isHot:true,
				numbers:{
					a:1,
					b:1,
					c:{
						d:{
							e:100
						}
					}
				}
			},
			computed:{
				info(){
					return this.isHot ? '炎熱' : '涼爽'
				}
			},
			methods: {
				changeWeather(){
					this.isHot = !this.isHot
				}
			},
			watch:{
				isHot:{
					// immediate:true, //初始化時讓handler調(diào)用一下
					//handler什么時候調(diào)用?當(dāng)isHot發(fā)生改變時。
					handler(newValue,oldValue){
						console.log('isHot被修改了',newValue,oldValue)
					}
				},
				//監(jiān)視多級結(jié)構(gòu)中某個屬性的變化
				/* 'numbers.a':{
					handler(){
						console.log('a被改變了')
					}
				} */
				//監(jiān)視多級結(jié)構(gòu)中所有屬性的變化
				numbers:{
					deep:true,
					handler(){
						console.log('numbers改變了')
					}
				}
			}
		})
 
	</script>
</html>

三、監(jiān)視屬性簡寫

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>天氣案例_監(jiān)視屬性_簡寫</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 準(zhǔn)備好一個容器-->
		<div id="root">
			<h2>今天天氣很{{info}}</h2>
			<button @click="changeWeather">切換天氣</button>
		</div>
	</body>
 
	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在啟動時生成生產(chǎn)提示。
		
		const vm = new Vue({
			el:'#root',
			data:{
				isHot:true,
			},
			computed:{
				info(){
					return this.isHot ? '炎熱' : '涼爽'
				}
			},
			methods: {
				changeWeather(){
					this.isHot = !this.isHot
				}
			},
			watch:{
				//正常寫法
				/* isHot:{
					// immediate:true, //初始化時讓handler調(diào)用一下
					// deep:true,//深度監(jiān)視
					handler(newValue,oldValue){
						console.log('isHot被修改了',newValue,oldValue)
					}
				}, */
				//簡寫
				/* isHot(newValue,oldValue){
					console.log('isHot被修改了',newValue,oldValue,this)
				} */
			}
		})
 
		//正常寫法
		/* vm.$watch('isHot',{
			immediate:true, //初始化時讓handler調(diào)用一下
			deep:true,//深度監(jiān)視
			handler(newValue,oldValue){
				console.log('isHot被修改了',newValue,oldValue)
			}
		}) */
 
		//簡寫
		/* vm.$watch('isHot',(newValue,oldValue)=>{
			console.log('isHot被修改了',newValue,oldValue,this)
		}) */
 
	</script>
</html>

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

相關(guān)文章

  • 老生常談vue的生命周期

    老生常談vue的生命周期

    這篇文章主要為大家詳細(xì)介紹了vue的生命周期,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Vue-cli集成axios請求出現(xiàn)CORS跨域問題及解決

    Vue-cli集成axios請求出現(xiàn)CORS跨域問題及解決

    這篇文章主要介紹了Vue-cli集成axios請求出現(xiàn)CORS跨域問題及解決方案,具有很好的參考價值,希望對大家有所幫助,
    2023-10-10
  • Vue父組件和子組件之間數(shù)據(jù)傳遞和方法調(diào)用

    Vue父組件和子組件之間數(shù)據(jù)傳遞和方法調(diào)用

    vue組件在通信中,無論是子組件向父組件傳值還是父組件向子組件傳值,他們都有一個共同點(diǎn)就是有中間介質(zhì),子向父的介質(zhì)是自定義事件,父向子的介質(zhì)是props中的屬性。
    2022-12-12
  • vue如何在線預(yù)覽各類型文件

    vue如何在線預(yù)覽各類型文件

    這篇文章主要介紹了vue如何在線預(yù)覽各類型文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Vue3中的常見組件通信之v-model使用詳解

    Vue3中的常見組件通信之v-model使用詳解

    這篇文章主要介紹了Vue3中的常見組件通信之v-model使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vue 中如何將函數(shù)作為 props 傳遞給組件的實(shí)現(xiàn)代碼

    Vue 中如何將函數(shù)作為 props 傳遞給組件的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Vue 中如何將函數(shù)作為 props 傳遞給組件的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • vue-cli3 設(shè)置端口號(81)無效的解決

    vue-cli3 設(shè)置端口號(81)無效的解決

    這篇文章主要介紹了vue-cli3 設(shè)置端口號(81)無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • vue.js使用3DES加密的方法示例

    vue.js使用3DES加密的方法示例

    這篇文章主要介紹了vue.js使用3DES加密的方法,結(jié)合實(shí)例形式分析了vue.js使用3DES加密的具體操作步驟與使用技巧,并提供了CryptoJS-v3.1.2的本地下載,需要的朋友可以參考下
    2018-05-05
  • vue3.0 自適應(yīng)不同分辨率電腦的操作

    vue3.0 自適應(yīng)不同分辨率電腦的操作

    這篇文章主要介紹了vue3.0 自適應(yīng)不同分辨率電腦的操作,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • vxe-list?vue?如何實(shí)現(xiàn)下拉框的虛擬列表

    vxe-list?vue?如何實(shí)現(xiàn)下拉框的虛擬列表

    這篇文章主要介紹了vxe-list?vue?如何實(shí)現(xiàn)下拉框的虛擬列表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

芜湖县| 安徽省| 彭泽县| 中牟县| 休宁县| 铅山县| 海盐县| 石屏县| 固阳县| 南丹县| 嘉善县| 封开县| 麻阳| 团风县| 迁安市| 靖安县| 万全县| 抚州市| 德昌县| 清水河县| 顺平县| 安福县| 湘乡市| 隆昌县| 乃东县| 桃园县| 汉川市| 岑溪市| 云南省| 黄平县| 凤冈县| 岑巩县| 新化县| 天门市| 长泰县| 清新县| 安阳市| 闸北区| 启东市| 囊谦县| 临桂县|