您好我发现此错误: 未捕获(承诺)TypeError:此。$ set不是函数
以下是代码:
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 :(得分:9)
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)
})
}
}
}
答案 1 :(得分:0)
在回调函数中,您失去了Vue实例(this
),这可以通过使用箭头函数()=>{...}
解决:
this.$http.get(config.api.url + '/movies').then((response)=> {
this.$set('movies', response.data)
})
或将回调绑定到this
:
this.$http.get(config.api.url + '/movies').then(function (response) {
this.$set('movies', response.data)
}).bind(this)