开发者问题收集

未捕获(在承诺中)TypeError:无法读取未定义的属性“数据”

2018-03-17
15117

我在使用 VueJS Laravel 时遇到了这个问题

这是我的 Home.vue

<template>
    <table>
        <tr v-for="models in model.data">
            {{models.nom}}
        </tr>
    </table>
</template>
<script>
import axios from 'axios'
export default{
    data() {
        return {
            model: {}
        }
    },
    created:function(){
        this.fetchDataResto()
    },
    methods: {
        fetchDataResto(){
            var vm = this
            axios.get('/test')
                .then(function response(){
                    Vue.set(vm.$data, 'model', response.model.data)
                })
        }
    }
}
</script>

这是我的 app.js

require("./bootstrap");
window.Vue = require("vue");
Vue.component('home', require('./components/Home.vue'));

var app = new Vue({
  el: "#app"
});

执行后出现此消息错误 Uncaught (in promise) TypeError: Cannot read property 'data' of undefined at response (app.js:47293)

我不知道为什么数据未定义

谢谢

2个回答
fetchDataResto(){
            var vm = this
            axios.get('/test')
                .then(function (response){
                    Vue.set(vm.$data, 'model', response.model.data)
                })
        }

您忘记设置 response 变量。;)

Thomas
2018-03-17

我用这个解决了

fetchDataResto(){
                var vm = this
                axios.get('/test')
                    .then(function (response){
                        Vue.set(vm.model, 'model', response.data)
                    })
            }
Tojo
2018-03-17