<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 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://www.sdgs6788.com

          存檔

          久久影院亚洲一区| 久久亚洲精品无码aⅴ大香| 久久久无码精品亚洲日韩蜜臀浪潮 | 久久综合伊人77777麻豆| 日韩中文久久| 亚洲国产精品成人久久| 热久久这里只有精品| 亚州日韩精品专区久久久| 久久精品日日躁夜夜躁欧美| 久久99热只有频精品8| 欧美国产成人久久精品| 久久精品人人做人人爽电影| 人妻系列无码专区久久五月天| 亚洲愉拍99热成人精品热久久| 久久香蕉一级毛片| 人妻精品久久无码区| 蜜桃麻豆www久久国产精品| 国产高潮国产高潮久久久| 欧美亚洲另类久久综合婷婷| 成人妇女免费播放久久久| 久久青青草原精品国产不卡| 婷婷伊人久久大香线蕉AV| 欧美久久久久久午夜精品| www.久久精品| 精品国际久久久久999波多野| 久久综合视频网| 精品国产91久久久久久久a| 国产精品一区二区久久精品| 人妻精品久久无码专区精东影业| 日韩精品久久久久久久电影| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久93精品国产91久久综合| www.久久热.com| 久久se精品一区精品二区| 久久国产精品一国产精品金尊| 久久精品国产久精国产果冻传媒 | 亚洲精品97久久中文字幕无码| 精品久久久久久久中文字幕 | 久久不射电影网| 久久99亚洲网美利坚合众国| 99久久精品国产高清一区二区|