“TypeError:Cannot read property 'get' of undefined”,Axios,Vue.JS

brccelvz  于 11个月前  发布在  iOS
关注(0)|答案(2)|浏览(150)

当我试图使用axios从API访问get请求时,我从Vue得到了这个奇怪的错误,我得到了“TypeError:Cannot read property 'get' of undefined”。


的数据

<template>
    <div class="home">
        <h1>{{ msg }}</h1>
        <p>Welcome to your new single-page application, built with <a href="https://vuejs.org" target="_blank">Vue.js</a>.</p>
    </div>
</template>

<script>
    var Vue = require('vue');

   // import axios from "axios";

    window.axios=require('axios');
    export default {
        name: 'Home',
        props: {
            msg: String
        },
        component: {
        },   
        mounted: function () {
            alert('Hi ');
            this.axios.get('https://api.github.com/users')
                .then(value => {
                    alert(value);
                         
                });
        }

    };
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

字符串

qzwqbdag

qzwqbdag1#

在您的示例中,this没有引用window。更好的方法是在组件中导入axios

import axios from 'axios';

字符串
更有效的方法是在main.js文件中全局设置一次:

Vue.prototype.$http = axios


并在任何地方使用它,如this.$http

lf3rwulv

lf3rwulv2#

我遇到了同样的问题,并通过添加type="module"解决了它。

相关问题