<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • Vue進(jìn)階(八十九):Vue中watch用法

    2019-12-28    seo達(dá)人

    在Vue中,用watch來響應(yīng)數(shù)據(jù)的變化,示例代碼如下,



    第一種方式

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

    //監(jiān)聽當(dāng)userName值發(fā)生變化時(shí)觸發(fā)

    watch: {

    userName (newName, oldName) {

    console.log(newName)

    }

    }



    第一種方式有一個(gè)缺點(diǎn): 就是當(dāng)值第一次綁定的時(shí)候 不會(huì)執(zhí)行監(jiān)聽函數(shù),只有當(dāng)值改變的時(shí)候才會(huì)執(zhí)行。



    如果我們想在第一次綁定的時(shí)候執(zhí)行此監(jiān)聽函數(shù),則需要設(shè)置immediate為true。比如當(dāng)父組件向子組件動(dòng)態(tài)傳值時(shí),子組件props首次獲取到父組件傳來的默認(rèn)值時(shí),也需要執(zhí)行函數(shù),此時(shí)就需要將immediate設(shè)為true。



    第二種方式

    watch: {

    userName: {

    handler (newName, oldName) {

    console.log(newName)

    },

    immediate: true

    }

    }



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



    當(dāng)需要監(jiān)聽一個(gè)對(duì)象的改變時(shí),普通的watch方法無法監(jiān)聽到對(duì)象內(nèi)部屬性的改變,只有data中的數(shù)據(jù)才能夠監(jiān)聽到變化,此時(shí)就需要deep屬性對(duì)對(duì)象進(jìn)行深度監(jiān)聽。



    第三種方式

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

    data (){

    return {

    cityName: 

    {

    name:'北京',

    location: '中國'

    }

    }

    },

    watch: {

    cityName: {

    handler(newName, oldName) {

    console.log(newName)

    },

    immediate: true,

    deep: true

    }

    }



    注:監(jiān)測(cè)為對(duì)象的時(shí)候,newVal == oldVal



    此時(shí)會(huì)給cityName的所有屬性都加上監(jiān)聽函數(shù),如果屬性較多時(shí),每個(gè)屬性值的變化都會(huì)執(zhí)行handler。如果只需要監(jiān)聽對(duì)象中的一個(gè)屬性值,則可以做以下優(yōu)化:使用字符串的形式監(jiān)聽對(duì)象屬性:



    watch: {

    'cityName.name': {

    handler(newName, oldName) {

    console.log(newName)

    },

    immediate: true,

    deep: true

    }

    }



    數(shù)組的變化不需要深度監(jiān)聽;

    在watch中不要使用箭頭函數(shù),因?yàn)榧^函數(shù)中的this是指向當(dāng)前作用域.




    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 久久棈精品久久久久久噜噜| 亚洲天堂久久精品| 精品无人区麻豆乱码1区2区| 四虎精品免费永久免费视频| 一区二区三区精品| 亚洲av永久无码精品古装片| 国产精品无码久久久久| 国产精品ⅴ无码大片在线看| 亚洲精品亚洲人成在线观看下载 | 国产精品自在线拍国产电影 | 精品亚洲一区二区三区在线观看 | 精品亚洲成a人片在线观看少妇 | 亚洲视频在线精品| 亚洲精品国产成人专区| 国产精品人人爽人人做我的可爱 | 午夜精品一区二区三区免费视频| 亚洲午夜精品一区二区| 久久国产热精品波多野结衣AV| 久久久久久噜噜精品免费直播| 久久成人影院精品777| 国产亚洲欧美精品永久| 亚洲国产精品无码久久一线| 欧洲精品码一区二区三区免费看| 国产精品人成在线观看| 97精品国产自在现线免费观看| 91精品国产91久久综合| 国产午夜精品无码| 人妻少妇精品视中文字幕国语| 亚洲国产精品一区二区第四页| 精品综合久久久久久88小说| 国产999精品久久久久久| 四虎国产精品永久地址99新强 | 久久99国产精品尤物| 亚洲av无码乱码国产精品 | 2020国产精品永久在线| 精品国产第一国产综合精品| 久久国产热精品波多野结衣AV| 久久精品中文騷妇女内射| 久久综合精品国产二区无码| 老司机亚洲精品影院| 久久夜色精品国产欧美乱|