开发者社区> 问答> 正文

Vue3.0 watch监听事件

Vue3.0 watch监听事件怎么使用?

展开
收起
代码bug生产队 2022-12-06 13:02:35 1089 0
3 条回答
写回答
取消 提交回答
  • 在校期间,专精前端领域,完成多个项目开发,熟练掌握前端领域内容

    这是我在csdn发布的博客,暂时还没有同步过来!

    选项式:http://t.csdn.cn/4okzo

    组合式:http://t.csdn.cn/oErmR

    2023-01-07 23:22:21
    赞同 展开评论 打赏
  • 1. watch 函数参数解释

    watch(data, (newData, oldData) => {}, (immediate:true, deep:true))
    // data 监听数据
    // 副作用函数
    // 配置对象
    

    2.示例

    watch([person_data, animal_data], (newValue, OldValue)=>{
       // 返回的是数组类型
    
    }
    )
    
    2022-12-06 13:16:12
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。
    • 监听一个reactive定义的数据
    const state = reactive({count:1})
    watch(() => state.count,(newCount,oldCount) =>{
        console.log(newCount,'新数据源')
        console.log(oldCount,'老数据源')
    })
    
    
    • 监听一个ref值
    const num = ref(0)
    watch(num,(newNum,oldNew) =>{
        console.log(newNum,'新数据源')
        console.log(oldNew,'老数据源')
    })
    
    • 监听多个数据源
    const state = reactive({count:1})
    const num = ref(0)
    watch([()=> state.count,num],([newCount,newNum],[oldCount,newOld])=>{
        console.log('new:',newCount,newNum);
        console.log('old:',oldCount,oldNum);
    })
    
    • 监听复杂对象
    const state = reactive({
      person: {
        name: '张三',
        fav: ['帅哥','美女','音乐']
      },
    });
    
    watch(() => state.person,(newPerson,oldPerson) =>{
        console.log("新值:", newType, "老值:", oldType);
    },{
        deep:true //立即监听
    })
    
    
    2022-12-06 13:08:32
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载