中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

人人設(shè)計(jì)網(wǎng)官方網(wǎng)站cilimao磁力貓?jiān)诰€搜索

人人設(shè)計(jì)網(wǎng)官方網(wǎng)站,cilimao磁力貓?jiān)诰€搜索,美圖秀秀在線制作,高端網(wǎng)站制作 專業(yè)制作平臺(tái)什么是偵聽器 個(gè)人理解:當(dāng)有一個(gè)響應(yīng)式狀態(tài)(普通變量 or 一個(gè)響應(yīng)式對(duì)象)發(fā)生改變時(shí),我們希望監(jiān)聽到這個(gè)改變,并且能夠進(jìn)行一些邏輯處理。那么偵聽器就是來(lái)幫助我們實(shí)現(xiàn)這個(gè)功能的。偵聽器 其實(shí)就是兩個(gè)函數(shù)&#xff…

什么是偵聽器

個(gè)人理解:當(dāng)有一個(gè)響應(yīng)式狀態(tài)(普通變量 or 一個(gè)響應(yīng)式對(duì)象)發(fā)生改變時(shí),我們希望監(jiān)聽到這個(gè)改變,并且能夠進(jìn)行一些邏輯處理。那么偵聽器就是來(lái)幫助我們實(shí)現(xiàn)這個(gè)功能的。
偵聽器 其實(shí)就是兩個(gè)函數(shù),watch() 或者是 watchEffect() 。
watch() 的特點(diǎn): 被偵聽的數(shù)據(jù)源非常明確,邏輯代碼與被偵聽的數(shù)據(jù)源相互獨(dú)立,可維護(hù)性較好;
watchEffect() 的特點(diǎn):出現(xiàn)在這里邊的響應(yīng)式狀態(tài)就會(huì)被監(jiān)聽,(就是被監(jiān)聽的數(shù)據(jù)源 和 邏輯代碼 寫在一起了);watchEffect() 的監(jiān)聽是立即執(zhí)行的,不是非得等到值發(fā)生改變時(shí)才開始執(zhí)行。下面通過(guò)案例來(lái)體會(huì)一下它們的用法。

watch 偵聽器

語(yǔ)法格式:
watch(被監(jiān)聽的響應(yīng)式狀態(tài),(新值,舊值)=>{ 邏輯代碼 },{可選的配置對(duì)象})
一共有 三個(gè)參數(shù):
參數(shù)1 : 指定被監(jiān)聽的狀態(tài),可以是一個(gè)變量或?qū)ο?br /> 參數(shù)2 :監(jiān)聽到之后的響應(yīng)回調(diào)函數(shù),
參數(shù)3 :其他的屬性配置,可選的,不是很常用


【注意】:
? ?watch第一個(gè)參數(shù)可以同時(shí)監(jiān)聽多個(gè)狀態(tài),寫成數(shù)組的形式,但是筆者不建議這樣使用,如果想監(jiān)聽多個(gè)狀態(tài),可以分開一個(gè)一個(gè)的寫嘛。

watch 監(jiān)聽一個(gè) ref 的普通響應(yīng)式狀態(tài)

這是最基本的使用,直接上代碼:
一個(gè)文本輸入框,
一個(gè)普通的響應(yīng)式變量,
當(dāng)文本輸入框中的內(nèi)容發(fā)生改變時(shí),在偵聽器的邏輯中修改 普通變量的值。

<template><!-- 監(jiān)聽器的使用 --><div><!-- 普通的響應(yīng)式狀態(tài) -->textValue : <input type="text" v-model="textValue"><br>otherValue1 : {{ orhterValue1 }} <br></div></template><script setup lang="ts">import { ref,watch } from 'vue'// 聲明一個(gè) 文本輸入框的值const textValue = ref('這是文本輸入框')// 聲明一個(gè) 變量,當(dāng) textValue 發(fā)生變化時(shí),這個(gè)變量也發(fā)生變化const orhterValue1 = ref('')// 監(jiān)聽 textValue 這個(gè)變量的狀態(tài)變化watch(textValue,(newValue:string,oldValue:string)=>{console.log(`oldValue is ${oldValue}`)console.log(`newValue is ${newValue}`)console.log(`textValue is ${textValue.value}`)// 當(dāng)textValue 的值發(fā)生改變時(shí),我們修改 otherValue1 的值orhterValue1.value = '改變了'+new Date().getTime()})</script><style scoped>
</style>

運(yùn)行效果:

初始狀態(tài)文本框改變之后
在這里插入圖片描述在這里插入圖片描述

watch 監(jiān)聽一個(gè)reactive的響應(yīng)式對(duì)象

當(dāng)想監(jiān)聽一個(gè)對(duì)象是否發(fā)生改變時(shí),需要使用reactive 創(chuàng)建響應(yīng)式對(duì)象;
而且,這個(gè)監(jiān)聽是深度監(jiān)聽,即,無(wú)論這個(gè)對(duì)象的屬性有多少層,都能夠被監(jiān)聽到;
而且,監(jiān)聽的回調(diào)函數(shù)的兩個(gè)參數(shù)都是一樣的,全都是新值對(duì)象,因?yàn)檫@就是一個(gè)對(duì)象!(這一條可能比較晦澀難懂,記住就行了)

案例 :
有一個(gè)響應(yīng)式的對(duì)象,
有一個(gè)按鈕,
點(diǎn)擊按鈕,改變對(duì)象的某個(gè)屬性,觸發(fā)偵聽器的邏輯

<template><!-- 監(jiān)聽器的使用 --><div><!-- 監(jiān)聽一個(gè)對(duì)象 -->stu : {{ stu }}<br><button @click="changeStu">點(diǎn)擊修改對(duì)象的屬性</button></div></template><script setup lang="ts">import { reactive,watch } from 'vue'// 聲明一個(gè)響應(yīng)式的對(duì)象const stu = reactive({id:100,name:'小紅',classInfo:{classId:'001',className:'快樂(lè)足球一班'}})// 修改對(duì)象的屬性的方法const changeStu = ()=>{stu.classInfo.className = '拒絕踢足球二班'}// 監(jiān)聽對(duì)象發(fā)生了變化 : 需要使用 reactive// 且此處的 newValue 和 oldValue 是一樣的,因?yàn)樗且粋€(gè)對(duì)象,都是更新后的值watch(stu,(newValue,oldValue)=>{console.log(`oldValue is `,oldValue)console.log(`newValue is `,newValue)console.log(`stu is `,newValue)})</script><style scoped>
</style>

運(yùn)行效果:

在這里插入圖片描述

watch 監(jiān)聽一個(gè)對(duì)象的某個(gè)屬性

通過(guò) getter 方法的形式,將對(duì)象的屬性作為被偵聽的對(duì)象。
getter方法 : 其實(shí)就是寫一個(gè)簡(jiǎn)單的函數(shù),返回被偵聽的對(duì)象。
這種監(jiān)聽,無(wú)論是 ref 還是 reactive 聲明的響應(yīng)式對(duì)象,都是可以的。

案例 :
有一個(gè)響應(yīng)式的對(duì)象,
有一個(gè)按鈕,
點(diǎn)擊按鈕,改變對(duì)象的某個(gè)屬性,觸發(fā)偵聽器的邏輯

<template><!-- 監(jiān)聽器的使用 --><div><!-- 監(jiān)聽一個(gè)對(duì)象的其中的某個(gè)屬性 -->stu : {{ stu }}<br><button @click="changeStu">點(diǎn)擊修改對(duì)象的屬性</button></div></template><script setup lang="ts">import { reactive,watch } from 'vue'// 聲明一個(gè)響應(yīng)式的對(duì)象const stu = reactive({id:100,name:'小紅',classInfo:{classId:'001',className:'快樂(lè)足球一班'}})// 修改對(duì)象的屬性的方法const changeStu = ()=>{stu.classInfo.className = '拒絕踢足球二班'}// 通過(guò)getter 函數(shù)的方式監(jiān)聽對(duì)象某個(gè)屬性的值watch(()=> stu.classInfo.className,(newValue,oldValue)=>{console.log(`oldValue is `,oldValue)console.log(`newValue is `,newValue)console.log(`stu is `,newValue)})</script><style scoped></style>

運(yùn)行效果:

在這里插入圖片描述

watchEffect偵聽器

特點(diǎn) :
只要是出現(xiàn)在 watchEffect 中的響應(yīng)式的狀態(tài),就會(huì)被納入監(jiān)聽,
當(dāng)響應(yīng)式狀態(tài)發(fā)生改變時(shí),會(huì)自動(dòng)觸發(fā)偵聽器的邏輯。
它可以比較方便的監(jiān)聽多個(gè)狀態(tài)值,但是,只要有一個(gè)值觸發(fā)了,就會(huì)把整個(gè)的偵聽邏輯執(zhí)行一遍!

案例 :
一個(gè)文本輸入框,可以監(jiān)聽文本輸入框的值;
一個(gè)按鈕,點(diǎn)擊修改 對(duì)象的一個(gè)屬性,該屬性被偵聽器監(jiān)聽;

<template><!-- 監(jiān)聽器的使用 --><div><!-- 普通的響應(yīng)式狀態(tài) -->textValue : <input type="text" v-model="textValue"><br><hr><!-- 監(jiān)聽一個(gè)對(duì)象 -->stu : {{ stu }}<br><button @click="changeStu">點(diǎn)擊修改對(duì)象的屬性</button></div></template><script setup lang="ts">import { ref,reactive,watchEffect} from 'vue'// 聲明一個(gè) 文本輸入框的值const textValue = ref('這是文本輸入框')// 聲明一個(gè)響應(yīng)式的對(duì)象const stu = reactive({id:100,name:'小紅',classInfo:{classId:'001',className:'快樂(lè)足球一班'}})// 修改對(duì)象的屬性的方法const changeStu = ()=>{stu.classInfo.className = '拒絕踢足球二班'}// 通過(guò) watchEffect 進(jìn)行監(jiān)聽watchEffect(()=>{// 監(jiān)聽普通的屬性if(textValue.value.length > 7){console.log('檢測(cè)到了 textValue 屬性的修改')console.log('textValue : ',textValue.value)console.log('---------------')}// 監(jiān)聽對(duì)象的屬性if(stu.classInfo.className.length > 6){console.log('檢測(cè)到了className屬性的修改')console.log('className : ',stu.classInfo.className)console.log('---------------')}})</script><style scoped>
</style>

運(yùn)行效果:

在這里插入圖片描述

http://m.risenshineclean.com/news/40376.html

相關(guān)文章:

  • wap網(wǎng)站制作軟件個(gè)人免費(fèi)推廣網(wǎng)站
  • 陜西網(wǎng)站制作電話網(wǎng)站代搭建維護(hù)
  • 用戶體驗(yàn)比較好的網(wǎng)站太原關(guān)鍵詞優(yōu)化軟件
  • 網(wǎng)站設(shè)計(jì)介紹常用的搜索引擎
  • 江蘇專業(yè)做網(wǎng)站淘寶關(guān)鍵詞排名
  • 做網(wǎng)站界面一般用什么來(lái)做廣告公司取名字參考大全
  • wordpress廣告窗插件搜索引擎優(yōu)化怎么做的
  • 企業(yè)商城網(wǎng)站 .net天津seo外包
  • 免費(fèi)英文網(wǎng)站建設(shè)學(xué)電商出來(lái)一般干什么工作
  • 深圳高端網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)鄭州企業(yè)網(wǎng)絡(luò)推廣外包
  • 建個(gè)網(wǎng)站多少錢app什么平臺(tái)可以打廣告做宣傳
  • 海南建設(shè)網(wǎng)站公司廣告文案
  • 網(wǎng)站設(shè)計(jì)錯(cuò)誤如何發(fā)布自己的廣告
  • 建設(shè)網(wǎng)站的五個(gè)步驟網(wǎng)站推廣的100種方法
  • jsp做新聞網(wǎng)站蘇州網(wǎng)站外包
  • 教務(wù)處網(wǎng)站建設(shè)西安seo推廣
  • 怎么做網(wǎng)站公司宣傳資料電商seo優(yōu)化是什么
  • ps企業(yè)站網(wǎng)站做多大的市場(chǎng)調(diào)研怎么寫
  • 在線旅游攻略網(wǎng)站建設(shè)方案關(guān)鍵詞優(yōu)化好
  • 網(wǎng)站地圖怎么建設(shè)網(wǎng)頁(yè)制作教程步驟
  • 人人建站怎么做網(wǎng)站關(guān)鍵詞優(yōu)化
  • 做視頻網(wǎng)站視頻文件都存放在哪站長(zhǎng)之家seo綜合查詢
  • 網(wǎng)站建設(shè)丂金手指科杰湖南網(wǎng)絡(luò)推廣服務(wù)
  • 雅安網(wǎng)站制作福建seo顧問(wèn)
  • 投票網(wǎng)站怎么做網(wǎng)絡(luò)營(yíng)銷推廣的要點(diǎn)
  • wap多用戶網(wǎng)站站長(zhǎng)之家官網(wǎng)登錄入口
  • 網(wǎng)站集約化建設(shè)解讀百度推廣優(yōu)化是什么意思
  • 做音頻的網(wǎng)站正規(guī)接單賺傭金的平臺(tái)
  • 昆山住房和城鄉(xiāng)建設(shè)局網(wǎng)站優(yōu)化網(wǎng)站內(nèi)容
  • 做的網(wǎng)站電腦上跟手機(jī)上不一樣嗎seo優(yōu)化廠商