Vue

Vue 数据注意别写入 undefined 的值

Posted by 翡翠小屋 on January 13, 2020

最近在编写 vue 的网页时,碰到了一个奇怪的问题,一个数组更新的时候没有刷新。

data() {
  return {
   blocks: []
  }
}
    
...
this.blocks =  info.blocks;

我通过 watch blocks 来触发控件刷新,但奇怪的是有时候 blocks 会丢失观察,后续任何更改不再触发界面刷新。用各种姿势调试半天以后,终于发现了原因。

我的 info.blocks 是服务端返回的,有时候会是 undefined ,而 vue 的 data 一旦被设置为 undefined 了以后,就会丢失观察模式,因此,给 vue 的 data 赋值的时候,千万注意别写入 undefined!

这里记录下,免得下次再犯同样错误,并纪念一下我浪费的时间。