国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

解決vue偵聽器watch,調用this時出現undefined的問題

瀏覽:4日期:2022-11-08 13:14:44

watch偵聽器中,我們要將新的值賦給this.a出錯

watch: { value: (newV, oldV) => { this.a = newV; }}

這里報錯undefined,這里錯誤的原因是不能寫成箭頭函數。寫成箭頭函數后,this會取上下文,而不是組件里面的this了,正確寫法為:

watch: { value: function(newV, oldV) { this.a = newV; }}

如下圖:

解決vue偵聽器watch,調用this時出現undefined的問題

看考鏈接:https://cn.vuejs.org/v2/api/#watch

PS:好吧,雖然問題可以解決,但是具體為什么不能寫成箭頭函數,講實話,我現在也不懂,知道原理的可以給我評論,非常感謝。

來自yyf994的評論解答:

var app = new Vue({ el: ’#app’, data: { a: 1 }, watch: { a:()=> { console.log(this) } }, methods: { onClick() { this.a++; } } })

在babel 編譯后是這樣子的

'use strict'; var _this = void 0; var app = new Vue({ el: ’#app’, data: { a: 1 }, watch: { a: function a() { console.log(_this); } }, methods: { onClick: function onClick() { this.a++; } }});

因為箭頭函數 的 函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。

補充知識:vue watch用法和沒反應的原因 =>看看下面是不是還有一個watch

我就廢話不多說了,大家還是直接看代碼吧~

watch: { stop: function(newVal, old){ //非josn用法 console.log(newVal) }, ’form.fdnDct’: function(newVal, old){ //josn用法 console.log(newVal) }, } //這也是一種用法 watch: { ’browse_integral_info.buy’:’RMB’, //購買積分轉化成人民幣 ’browse_integral_info.give’:’GIVE’, //完成邀請瀏覽任務贈送 ’bargain_integral_info.give’:’BARGAINGIVE’, deep:true, }, methods: { RMB: function(){ this.RMBs = this.browse_integral_info.buy/100 }, },

以上這篇解決vue偵聽器watch,調用this時出現undefined的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 国产精品一区二区手机在线观看 | 久热中文字幕在线精品免费 | 黑人巨大交牲老太 | 日本红怡院在线 | 日本欧美在线视频 | 成人三级精品视频在线观看 | 欧美日韩一区二区三区在线视频 | 国产在线观看一区精品 | 高清国产一级精品毛片基地 | 在线日本看片免费人成视久网 | 男女男精品视频在线播放 | 亚洲最黄视频 | 中文字幕福利视频 | 亚洲欧洲一二三区机械有限公司 | 在线观看香蕉免费啪在线观看 | 日本免费一二区视频 | 一级做a毛片免费视频 | 真人一级毛片 | 精品国产一区二区在线观看 | 香港三级做爰大爽视频 | 亚洲精品久久九九热 | 国产精品久久久久网站 | 欧美精品hdvdeosex4k | 香港三澳门三日本三级 | 欧美在线香蕉在线现视频 | 久久久久久久国产精品毛片 | 三级免费网站 | 久久99国产一区二区三区 | 91伊人久久 | 中文字幕国产专区 | 精品久久久久久久久免费影院 | 亚洲tv成人天堂在线播放 | 成人精品一区二区久久 | 中文精品久久久久国产不卡 | 成人午夜看片在线观看 | 高清一级淫片a级中文字幕 高清一区二区 | 精品久久久久久影院免费 | 亚洲精品综合在线 | 欧美三级欧美成人高清www | 理论片我不卡在线观看 | 狠狠色丁香婷婷久久综合考虑 |