2019/10/16 11:46:45
在学习vue发送ajax时误入的歧途
bug发生背景
前台vue创建完成时 触发init方法
init中发送ajax获取到数据库中数据
bug发生代码
<body>
<div id="app">
<table>
<tr>
<th></th>
<th>id</th>
<th>name</th>
<th>password</th>
</tr>
<tr v-for="(user,index) in users">
<td>{{index+1}}</td>
<td>{{user.uid}}</td>
<td>{{user.username}}</td>
<td>{{user.password}}</td>
</tr>
</table>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
users: []
},
methods: {
init: function () {
axios.get("/user").then(function (value) {
this.users = value.data
console.log(this.users)
})
}
},
created: function () {
this.init();
}
})
</script>
</body>
这时候的前台console显示
说明从后台已经获取到了数据
但是并没有显示
经过一番摸索之后发现
原来当前的this就也是window
console中输出的数据是window中的users
并不是vue中的users
改正后成功显示
axios.get("/user").then(function (value) {
vm.users = value.data;
})