场景

一般来说我们都是在watch 中去监听一个数据,类似这样,

 watch:{
            serviceOurParameterDialogFormVisible(newValue,oldValue){
                this.chileServiceOurParameterDialogFormVisible = newValue;
            }
        },

但如果我们这个数据是在别的地方进行初始化,或者说在一个函数中去后端请求数据后进行,才能进行监听,那么就需要手动进行挂载监听类似这样

 this.$watch('tableData',  function () {
               // 监听tableData 这个数据 并且深度监听
                    },
                    {deep: true},
                )

那么实际在组件销毁时并不会对这个监听做销毁操作,需要我们手动销毁监听。不然下次在调用这个组件时实际上会用问题,销毁代码如下

let unWatchFunction = this.$watch('tableData',  function () {
               // 监听tableData 这个数据 并且深度监听
                    },
                    {deep: true},
                )

这个unWatchFunction 就是我们需要的那个销毁监听函数,在销毁时调用即可,比如说我的场景是一个弹窗 。在弹窗打开的时候去调用后端数据初始化,数据初始化后在对数据进行监听。在弹窗关闭时在对这个监听进行销毁。

 

 

 

Logo

前往低代码交流专区

更多推荐