日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

vue 数据(data)赋值问题

發布時間:2025/5/22 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue 数据(data)赋值问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

執行后前端報錯:

原因:

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

解決方案:

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

二)使用箭頭函數

原來 showActionSheet(theme, datas) {//取id 的值為this.idvar data = this.data;var info = eval('data.' + datas);//console.log(info);var button = {};for (let i in info) {button[info[i]] = function() {this.status = info[i];}}$actionSheet.show({theme: theme || '',title: '標題',buttons: button});//console.log(this.status); },

修改后

showActionSheet(datas) {//取id 的值為this.idvar data = this.data;var info = eval('data.' + datas);var button = {};for (let i in info) {button[info[i]] = ()=> {this[datas] = info[i]; //datas是一個變量,,比如 datas=s代替的是this.s=info[i];}}$actionSheet.show({theme: 'android',title: '標題',buttons: button}); },

總結

以上是生活随笔為你收集整理的vue 数据(data)赋值问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。