new Vue({
el: "#adminDiv",
data: {
admins: [],
id: null,
aname: null,
pwd: null
},
created: function () {
alert("loadList");
$.get("admin/load").success(function (list) {
alert(list.length);
for(var i=0;i<list.length;i++){
alert(list[i].aname);
this.admins.push(list[i]);
}
})
},
list里面数据是正确的,但是无法push到data里的数组中,不知道是为什么求教
这里push会报错
请留意一下this的指向问题, 现在的 this 还是指向vue吗? 你在请求数据前 加一行 var that = this; 里面push的时候,就是 that.admins.push(list[i]);
created: function () {
alert("loadList");
var that = this;
$.get("admin/load").success(function (list) {
alert(list.length);
for(var i=0;i<list.length;i++){
alert(list[i].aname);
that.admins.push(list[i]);
}
})
直接在循环外边用=不就好了,何必遍历一遍呢
https://segmentfault.com/q/1010000017380916
再循环外
let _this = this;
_this.admins = list;
console.log(_this.admins);