国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

總結(jié)一下我遇到的一個(gè)糾結(jié)很久的問題。

在項(xiàng)目中需要用到后臺(tái)的數(shù)據(jù)對(duì)前端渲染,使用到了vue整合的axios,使用vue中的鉤子函數(shù)在頁(yè)面組件掛載完成之后向后臺(tái)發(fā)送一個(gè)get請(qǐng)求然后將返回后的數(shù)據(jù)賦值data()中定義的屬性:

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

執(zhí)行后前端報(bào)錯(cuò):

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

原因:

在請(qǐng)求執(zhí)行成功后執(zhí)行回調(diào)函數(shù)中的內(nèi)容,回調(diào)函數(shù)處于其它函數(shù)的內(nèi)部this不會(huì)與任何對(duì)象綁定,為undefined。

解決方案:

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

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

二)使用箭頭函數(shù)

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

補(bǔ)充:解決 vue data中數(shù)據(jù)之間的調(diào)用undefined問題

解決辦法:

沒法解決,根本不能這樣調(diào)用。

雖然data函數(shù)中的this是指向VueComponent的,(配合理解:data中的數(shù)據(jù)是可以用this調(diào)用props中的數(shù)據(jù)的)但是在data中調(diào)用另一個(gè)屬性的時(shí)候,data中的數(shù)據(jù)還沒有解析出來(lái),因?yàn)閞eturn {}對(duì)象的時(shí)候它們中的所有數(shù)據(jù)是一起渲染解析的,所以會(huì)出現(xiàn)undefined問題。

(以上僅個(gè)人理解,如有錯(cuò)誤,還請(qǐng)?jiān)u論指正)

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

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

顯示結(jié)果:

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

當(dāng)然如果fullName不需要在data中定義的話,在computed計(jì)算屬性中定義可能會(huì)優(yōu)雅。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 肃宁县| 阜新市| 房产| 香河县| 察雅县| 盐亭县| 通州区| 沛县| 长顺县| 河西区| 林芝县| 灌阳县| 新兴县| 太仓市| 普安县| 永嘉县| 宣恩县| 和静县| 安庆市| 龙里县| 比如县| 三都| 佛山市| 渭南市| 中西区| 绥宁县| 将乐县| 丰都县| 颍上县| 乾安县| 阿荣旗| 铁岭县| 仁化县| 喀喇沁旗| 孝义市| 洪江市| 根河市| 桃江县| 东源县| 泊头市| 孙吴县|