Vue + axios返回undefined

时间:2018-04-18 09:00:49

标签: laravel vue.js axios

我有app.js导入axios和VueAxios为:

Vue.use(VueAxios, axios);

然后调用我的组件:

Vue.component('api-call', require('./components/PostComponent'));

在我的PostComponent我有一个简单的axios如下:

<script>
    export default {
        // name: "PostComponent"
        data() {
            return {
                post: {},
            }
        },
        methods: {
            getPosts: () => {
                console.log('started');
                //let that = this;
                let uri = 'https://jsonplaceholder.typicode.com/posts';
                this.axios.get(uri).then((response) => {
                        console.log(response);
                    })
            }
        },
        mounted(){
            this.getPosts()
        }
    }
</script>

因为我希望在组件加载开始时执行此操作,所以我正在使用mounted(为什么Vue没有构造函数让我困惑,甚至在isMounted模式上传递了反应。)< / p>

我做错了什么?

感谢, 芽

1 个答案:

答案 0 :(得分:0)

您无法使用箭头功能进行方法声明。

请参阅https://vuejs.org/v2/api/#methods

  

请注意,您不应使用箭头功能来定义方法   (例如加号:()=&gt; this.a ++)。原因是箭头函数绑定了   父上下文,所以这不会像你期望的那样是Vue实例   this.a将是未定义的。

这是正确定义方法的两种方法

  1.     getPosts: function() {
    
        }
    
  2. (如果您可以使用ES6)

        getPosts() {
    
        }
    
相关问题