2016-01-06 2 views
0

Привета Я адресность этой ошибки: Uncaught (обещанию) TypeError:. Это $ множество не является функция

А вот код:

 export default { 
     data: function() { 
      return { movies: '' } 
     }, 

     ready: function() { 
      this.showMovies() 
     }, 

     methods: { 
      showMovies: function() { 
       this.$http.get(config.api.url + '/movies').then(function (response) { 
        this.$set('movies', response.data) 
       }) 
      } 
     } 
    } 
+0

решаемые:. 'Это $ http.get (config.api.url + '/ кино/geners' , function (geners) { это. $ set ('geners', geners) }) ' – DokiCRO

ответ

5

Причина, по которой this.$set не является функцией в вашем примере кода, потому что this больше не ссылается на экземпляр Vue ViewModel.

Чтобы сделать код, который вы Написали работаете, вы должны сохранить ссылку на него:

export default { 
    data: function() { 
     return { movies: '' } 
    }, 

    ready: function() { 
     this.showMovies() 
    }, 

    methods: { 
     showMovies: function() { 
      var vm = this; // Keep reference to viewmodel object 
      this.$http.get(config.api.url + '/movies').then(function (response) { 
       vm.$set('movies', response.data) 
      }) 
     } 
    } 
} 
+0

Спасибо! Это помогло: D – DokiCRO

Смежные вопросы