美文网首页
vuejs中的watch/对象与数组失效

vuejs中的watch/对象与数组失效

作者: 勤劳一沙鸥 | 来源:发表于2023-05-21 17:21 被阅读0次

问题:deep watch 不生效。
代码:

vue3中传统的watch方式观察 patient对象的变化

  Form代码省略
...
  watch: {
    patient: {
      handler: function (nv, ov) {
        doSomeThing()
      },
      deep: true,
    },
  },
  async created() { // 服务器 端还原表单
     this.fetchPatientDetail(patientId);
  },
  setup() {
    const patient = ref({});
    return {
      patient
    };
  }

排查:
发现vuex中,patient对象变成的空数组。


image.png

神奇的是可以提交,但watch无效。


image.png

修改:
将 vuex 中的数组修改为对象,貌似可以正常工作了

image.png

patient对象在表单还原时,由于php的原因,空对象就直接输入[],导致js的这个现象。后端同学返回加了一个对象转换,可以解决。

更深层次的原因后边挖掘,这里记录一下问题吧。 各种尝试修改,花了1个多小时...

相关文章

网友评论

      本文标题:vuejs中的watch/对象与数组失效

      本文链接:https://www.haomeiwen.com/subject/ovzasdtx.html