2015-10-20 22 views
9

Gram z vueJS i próbuję pobrać dane z żądania ajax.

Herezje mój kodu:

new Vue({ 
el: '#recipeList', 

ready: function() { 
    this.fetchRecipes(); 
}, 

methods: { 
    fetchRecipes: function() { 
     this.$http.get('/recipes/ajax', function (recipes) { 

      this.$set('recipes') = recipes; 

     }); 
    } 
}}) 

Kod HTML jest w porządku, to wątpię, trzeba to zobaczyć.

Dokumentacja mówi, że w ten sposób wykonujesz żądanie ajax, jednak obiekt $ http nie wydaje się być ustawiony.

Oto błąd konsoli otrzymuję:

TypeError: undefined is not an object (evaluating 'this.$http.get') 
fetchRecipesapp.js:10 
(anonymous function)vue.js:307 
readyapp.js:5 
_callHookvue.js:8197 
readyvue.js:10169 
$mountvue.js:10155 
_initvue.js:8054 
Vuevue.js:80 
global codeapp.js:1 
app.js:10 

Odpowiedz

18

$http.get jest Vue Resource. Upewnij się, że prawidłowo go wyciągasz. to znaczy, dodać vue-resource do package.json, następnie npm zainstalować, a następnie ...

var Vue = require('vue'); 

Vue.use(require('vue-resource')); 

Ponadto, upewnij się, że ścieżka korzeń jest prawidłowo skonfigurowany.

Vue.http.options.root = '/your-root-path'; 

Mam nadzieję, że pomoże! :-)