ajax请求回数组数据,Vue页面数组没同步问题
记录bug
为什么 ajax 获取到了 vm.$data.list
页面上却没有显示出来的?
代码
//页面
<tr v-for="item in list">{{ *** }}</tr>
//请求数据
send: function(){
var that = this,
vm = that._vm,
data = vm.ajaxData;
$Le.smp.goAjax({
Go: Go,
Dialog: Dialog
}, {
url:$Le.Config.api.list.list
,type: 'get'
,data:data
,total:0
,postJSON: false
,beforeSend: function(){
$Le.smp.createLoading();
}
,success: function(json){
that._vm.$data.list = json.data.list;
console.log(that._vm.$data.list);
}
});
分析
- ajax 请求后,打印出 list 数据,数据是ajax请求的新数据
- 屏蔽显示显示不出来部分,在页面上其他地方,循环打印 list 可以打印出,说明不是数据问题,是页面部分问题
- 检测语法错误,之前出现过一次,是因为avalon 转成 Vue, 残留了avalon语法
- 语法没问题,分段屏蔽html
- 最后发现是 filter 问题,之前也出现过!!写过滤器怎么老出问题,filter语法容易出错么!