vue 数据(data)赋值问题
生活随笔
收集整理的這篇文章主要介紹了
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)赋值问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “尼姑在哪里?”抗战英雄饶国华血战自尽的
- 下一篇: 液压油缸流量计算和用多大的齿轮泵