记一次字体渐变导致setData之后,视图没有更新的坑
发布于 4 年前 作者 pingyi 286 次浏览 来自 分享

今天测试小哥急忙忙的跑过来,问我接口返回正确,为什么视图没有更新?我信誓旦旦的说道:我写的代码怎么可能有问题!因为setData视图没有理由不更新呀?后来当我自己复现之后彻底傻眼了???what???的确setData了,模拟器和ios是没有问题的,为什么在安卓机视图没有更新??后面经过各种console,才发现setData之后数据的确更新了。后来经过种种排查,某一瞬间我把class名称去掉了?what?竟然可以了?好在class里只有一段改变文字渐变的代码?冷静下来想了想 有可能是微信渲染层报错了,并没有把报错信息抛出来!

wxml
<view bindtap='changeData'>点击更新数据</view>
<text>{{value}}</text>

css
text{
   font-size: 30px;
   background: linear-gradient(to right, red, blue);
   -webkit-background-clip: text;
   color: transparent;
}

js
Page({
  data:{
    value:''
  },
  changeData(){
     this.setData({
       value:Math.floor(Math.random()*(1000 - 1) + 1);
    })
  }
  })
回到顶部