成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

javascript - vue 初始化數(shù)據(jù)賦值報(bào)錯(cuò)

瀏覽:118日期:2023-05-24 11:10:36

問題描述

vue代碼

<script>import axios from ’axios’;export default { data() {return { titleList: [],} }, created() {this.axios.get(’XX’).then(function(response) { console.log(response.data); this.titleList=response.data;}).catch(function (error) { console.log(error);}); }}</script>報(bào)錯(cuò)

TypeError: Cannot set property ’titleList’ of undefined類型錯(cuò)誤,不能設(shè)置未定義的屬性,

數(shù)據(jù)

response.data是一個(gè)對(duì)象數(shù)組我已經(jīng)初始化了titleList,不知為何說他未定義,求大神解答

問題解答

回答1:

this 指向更改了 你可以打印出this來(lái)看一下指向誰(shuí)

解決方案

1.用箭頭函數(shù)吧 2.保存this (let _this = this)

回答2:

.then(res => { this.titleList = res;})回答3:

this.axios.get(’XX’) .then(function (response) { response=response.body; this.titleList=response.data; }) .catch(function (error) { console.log(error);})

這樣試下。如果不行,把錯(cuò)誤貼出看下!

回答4:

this指針丟失,可以使用箭頭函數(shù),也可以用一個(gè)變量保存this let _this = this

回答5:

我在使用axios請(qǐng)求數(shù)據(jù)的時(shí)候記得是在程序入口文件main.js里面全局引入axios類庫(kù),試試引入后用Vue.prototype.$http=axios,之后就可以在全局使用了,至于樓上給出的答案指出的this指針問題,可以試試,我習(xí)慣了es6的語(yǔ)法,所以項(xiàng)目中用的一般都是箭頭函數(shù)

回答6:

axios.get(’***’).then((res) => { this.titleList=res.data;});

使用這種方式試試

標(biāo)簽: JavaScript
相關(guān)文章: