记录vue3.0的坑--watch新旧数据相同

Posted llfididi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录vue3.0的坑--watch新旧数据相同相关的知识,希望对你有一定的参考价值。

1.先上代码

<script>
import { reactive ,toRefs, ref ,watch} from "vue";
import { useRouter } from "vue-router";

export default {
  setup() {
    const state = reactive({
      password: null,
      username: null,
    });
    // const router = useRouter();

    // const goto_home = (() => {
    //   router.replace( \'/userList\')
    // })
    const affirm = ()=>{
      console.log(\'enter\')
    }

    watch(()=>state.username, (newValue, oldValue) => { //直接监听
    console.log("改变了",newValue,oldValue,state);
});
    return {
      affirm,
      ...toRefs(state)
    };
  },
};
</script>

这是正确的监听方式

2.如果是监听全部时

    watch(state, (newValue, oldValue) => { //直接监听
    console.log("count改变了",newValue,oldValue,state);

});

newValue和 oldValue是一样的(都是修改后的值)

推荐方式1,这样可以监听到修改前和修改后的值

以上是关于记录vue3.0的坑--watch新旧数据相同的主要内容,如果未能解决你的问题,请参考以下文章

vue3.0组件监听异步数据,watch与reactive 的应用, watch与computed, 还有ref的使用

vue3.0组件监听异步数据,watch与reactive 的应用, watch与computed, 还有ref的使用

Vue watch监听 date中的变量 与 数组或者对象的数据变化

Vue3.0的多种侦听方式

$scope.$watch()——监听数据变化

Yii2 通过传递新旧记录并比较数据来创建审计记录