午夜勾魂曲-午夜福利自怕-午夜福利在线观看6080-午夜福利院电影-国产精品毛片AV久久97-国产精品麻豆高潮刺激A片

Vue進階(八十九):Vue中watch用法

2019-12-28    seo達人

在Vue中,用watch來響應數據的變化,示例代碼如下,



第一種方式

<input type="text" v-model="userName"/>  

//監聽當userName值發生變化時觸發

watch: {

userName (newName, oldName) {

console.log(newName)

}

}



第一種方式有一個缺點: 就是當值第一次綁定的時候 不會執行監聽函數,只有當值改變的時候才會執行。



如果我們想在第一次綁定的時候執行此監聽函數,則需要設置immediate為true。比如當父組件向子組件動態傳值時,子組件props首次獲取到父組件傳來的默認值時,也需要執行函數,此時就需要將immediate設為true。



第二種方式

watch: {

userName: {

handler (newName, oldName) {

console.log(newName)

},

immediate: true

}

}



immediate表示在watch中首次綁定的時候,是否執行handler,值為true則表示在watch中聲明的時候,就立即執行handler方法,值為false,則和一般使用watch一樣,在數據發生變化的時候才執行handler。



當需要監聽一個對象的改變時,普通的watch方法無法監聽到對象內部屬性的改變,只有data中的數據才能夠監聽到變化,此時就需要deep屬性對對象進行深度監聽。



第三種方式

<input type="text" v-model="cityName.name" />

data (){

return {

cityName: 

{

name:'北京',

location: '中國'

}

}

},

watch: {

cityName: {

handler(newName, oldName) {

console.log(newName)

},

immediate: true,

deep: true

}

}



注:監測為對象的時候,newVal == oldVal



此時會給cityName的所有屬性都加上監聽函數,如果屬性較多時,每個屬性值的變化都會執行handler。如果只需要監聽對象中的一個屬性值,則可以做以下優化:使用字符串的形式監聽對象屬性:



watch: {

'cityName.name': {

handler(newName, oldName) {

console.log(newName)

},

immediate: true,

deep: true

}

}



數組的變化不需要深度監聽;

在watch中不要使用箭頭函數,因為箭頭函數中的this是指向當前作用域.




日歷

鏈接

個人資料

藍藍設計的小編 http://m.gerard.com.cn

存檔

主站蜘蛛池模板: 最新精品国产 | 男人把女人桶到爽免费看视频 | 国产精品亚洲一区二区三区久久 | 中文字幕欧美一区 | 男助理憋尿PLAY灌尿BL出去 | 色欲AV蜜臀AV在线观看麻豆 | 51国产午夜精品免费视频 | 日日夜夜天天操 | 亚洲三级视频在线观看 | 天天射天天干天天插 | 久久成人免费观看全部免费 | 就操成人网 | 色欲AV精品人妻一区二区三区 | 无码乱人伦一区二区亚洲一 | 韩国女人高潮嗷嗷叫视频 | 91国在线产 | 怪物高h粗暴无尽 | 为什么丈夫插我我却喜欢被打着插 | 亚洲视频在线免费观看 | 国产成人精品综合久久久 | 三级黄色在线观看 | 国内高清在线观看视频 | 亚洲欧美日本中文子不卡 | 欧美一区二区三区激情视频 | 久久橹| 成年人在线视频免费观看 | 美女诱点第6季 | 超碰caoporn| 亚洲色偷偷偷网站色偷一区人人藻 | 伊人久久大香线蕉综合99 | 男女做爽爽爽视频免费软件 | 久久草这在线观看免费 | yellow日本高清在线 | 美女扒开屁股让男人桶 | 午夜理论电影在线观看亚洲 | 三级黄色一级视频 | 红尘影院在线观看 | 一本道久久综合久久88 | 国产亚洲精品a在线观看app | 任你躁精品一区二区三区 | 草民电影网午夜伦理电影网 |