ajax请求回数组数据,Vue页面数组没同步问题

时间:2022-03-16 11:00:21

记录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); }
});

分析

  1. ajax 请求后,打印出 list 数据,数据是ajax请求的新数据
  2. 屏蔽显示显示不出来部分,在页面上其他地方,循环打印 list 可以打印出,说明不是数据问题,是页面部分问题
  3. 检测语法错误,之前出现过一次,是因为avalon 转成 Vue, 残留了avalon语法
  4. 语法没问题,分段屏蔽html
  5. 最后发现是 filter 问题,之前也出现过!!写过滤器怎么老出问题,filter语法容易出错么!