av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

vue 數據(data)賦值問題的解決方案

瀏覽:2日期:2022-09-30 18:51:45

總結一下我遇到的一個糾結很久的問題。

在項目中需要用到后臺的數據對前端渲染,使用到了vue整合的axios,使用vue中的鉤子函數在頁面組件掛載完成之后向后臺發送一個get請求然后將返回后的數據賦值data()中定義的屬性:

vue 數據(data)賦值問題的解決方案

執行后前端報錯:

vue 數據(data)賦值問題的解決方案

原因:

在請求執行成功后執行回調函數中的內容,回調函數處于其它函數的內部this不會與任何對象綁定,為undefined。

解決方案:

一)將指向vue對象的this賦值給外部方法定義的屬性,然后在內部方法中使用該屬性

vue 數據(data)賦值問題的解決方案

二)使用箭頭函數

vue 數據(data)賦值問題的解決方案

補充:解決 vue data中數據之間的調用undefined問題

解決辦法:

沒法解決,根本不能這樣調用。

雖然data函數中的this是指向VueComponent的,(配合理解:data中的數據是可以用this調用props中的數據的)但是在data中調用另一個屬性的時候,data中的數據還沒有解析出來,因為return {}對象的時候它們中的所有數據是一起渲染解析的,所以會出現undefined問題。

(以上僅個人理解,如有錯誤,還請評論指正)

所以選擇在mounted生命周期中完成賦值操作

export default { data(){ return { firstName:’111’, lastName:’222’, fullName:’’ } }, mounted(){ this.fullName = this.firstName +’’+this.lastName; } }

顯示結果:

vue 數據(data)賦值問題的解決方案

當然如果fullName不需要在data中定義的話,在computed計算屬性中定義可能會優雅。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Vue
相關文章:
主站蜘蛛池模板: 欧美日韩在线一区二区三区 | 欧美综合一区二区 | 精品国产91 | 久久精品中文 | 亚洲三级在线观看 | 久久日韩粉嫩一区二区三区 | 亚洲一区二区三区四区五区中文 | 久久精品国产99国产精品亚洲 | 狠狠ri| 国产一区二区三区在线看 | 国产精品精品久久久 | 精品国产伦一区二区三区观看体验 | 欧美成人不卡 | 日韩三级在线 | 亚洲精品中文字幕 | 日韩精品在线播放 | 欧美高清性xxxxhd | 亚洲成人999 | 日韩电影免费在线观看中文字幕 | 夜夜骑首页 | 精品亚洲一区二区三区四区五区高 | 四虎成人免费电影 | 久久综合一区 | 国户精品久久久久久久久久久不卡 | 亚洲一区不卡在线 | 日韩中文在线视频 | 国产精品一区一区三区 | 日本精品国产 | 在线观看av网站永久 | 成人一区二区三区视频 | 久久久久久精 | 亚洲高清av| 亚洲天天干 | 欧美成人一区二区三区 | 四虎影音 | 91偷拍精品一区二区三区 | 久久福利电影 | 国产三级大片 | 成人亚洲网 | 黄色大片免费网站 | 97精品国产手机 |