第一种方法:先将两个变量合并,然后监听合并之后的变量

watch: {
    mergeVariable(val) { //新增子节点或者修改节点
      if(val.dialogStatus == 'child'){ //新增子节点
        this.restForm()
        this.form.pid = val.detailData.id
        this.viewModal = false
      }else if(val.dialogStatus == 'edit'){//修改节点
        this.form = val.detailData
        this.viewModal = false
      }else if(val.dialogStatus == 'view'){//查看
        this.form = val.detailData
        this.viewModal = true
      }else if(val.dialogStatus == 'add') { //新增根节点
        this.viewModal = false
      }
    }
  },
  computed: {
    mergeVariable() {
      const { dialogStatus, detailData } = this
      return {
        dialogStatus,
        detailData,
      }
    },
  },

第二种方法:分别监听两种变量,但是将变化之后的操作提取成一个函数,放在methods中

watch: {
    dialogStatus(){
      this.operatePanel()
    },
    'detailData.yztTreeEntity.id'(){
      this.operatePanel()
    },
    
  },
methods: { 
    operatePanel() {
        //操作
    }
},

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐