使用vue 2.1.10 vue-resource 1.3.4获取数据:
const app = new Vue({
el: '#UserController',
data:{
users : [],
},
methods:{
fetchUser: function(){
this.$http.get('http://localhost:8000/api/api/users', function(data){
this.$set('users',data)
})
}
},
mounted(){
this.fetchUser()
}
});
但最后
用户没有价值。
答案 0 :(得分:2)
Vue-resource是一种基于承诺的API。 get请求的语法应为
this.$http.get('/someUrl')
.then(response => {
// get body data
this.someData = response.body;
}, err => {
// error callback
});
由于您已在数据选项中初始化users: [ ]
,因此无需使用Vue.$set
,您可以使用this.users = data
直接指定值
所以这样做:
fetchUser: function(){
this.$http.get('http://localhost:8000/api/api/users')
.then((data) => {
this.users = data;
}, err => {
// handle error
})
}
答案 1 :(得分:0)
const app = new Vue({
el: '#UserController',
data:{
users : [],
},
methods:{
fetchUser: function(){
var self = this;
this.$http.get('http://localhost:8000/api/api/users', function(data){
self.$set(self,'users',data)
})
}
},
mounted(){
this.fetchUser()
}
});
检查变量范围。将指针设置为“this”,如“self”。