Vue资源$ http未定义

时间:2016-03-31 10:54:12

标签: javascript vue.js vue-resource

我的准备好方法中包含此代码: this.$http.get('url',{},{ headers: { "X-App-Token": "token" } }).then( (data) => this.$set('cdata',data.data)) .catch( (error) => console.log('Got a problem'+error));

并且它运作良好,问题是当我将它移动到方法对象中的另一个功能时它不起作用。

ready(){
this.getJsonData();
},

methods: {
getJsonData: () => {
this.$http.get('url',{},{
  headers: {
        "X-App-Token": "token"
     }
  }).then(  (data) => this.$set('cdata',data.data))
    .catch( (error) => console.log('Got a problem'+error));
},
},

错误:

src\src\App.vue:23 Uncaught TypeError: Cannot read property '$http' of undefined

//this becomes undefined.

2 个答案:

答案 0 :(得分:0)

我认为可能是使用箭头来生成函数。可能导致该函数处于未定义的范围内?试试这个:

methods: {
  getJsonData(){
    this.$http.get('url',{},{
      //...

答案 1 :(得分:0)

对于任何试图解决此问题的人,您都缺少vue.use()

要解决此问题,您需要添加

import VueResource from 'vue-resource';
Vue.use(VueResource);

到你的main.ts并且应该全部修复