vue3 watch监听 父子组件通信

目录

[01 watch监听方式](#01 watch监听方式)

[02 父子组件的通信](#02 父子组件的通信)


01 watch监听方式

1.watch(被监听的变量,(新值,旧值)=>{ })

默认直接就是深层监听

如果想要配置深度监听和默认触发 需要在第三个参数定义options对象

2.watch(被监听的变量,()=>{},{

deep:true,

immediate:true 项目打开后就执行一次

})

3.如果监听对象中的某个属性

watch(()=>obj2.per,(newVal,oldVal)=>{

deep:true

immediate:true

})

02 父子组件的通信

父给子传数据:

1 在父组件模板中找到子组件标签

  1. 通过v-bind 绑定一个自定义属性名 值为传递的变量

3.在子组件的js的大括号里面 通过props注册传递过来的属性名

4.这个属性名就可以当做一个变量直接使用 或者js里面通过this.获取

setup函数的第一个参数就是props 可以拿到父组件给子组件传递过去的数据

vue3中父组件给子组件传递数据 依然是单项数据流

子给父传参:

1.从setup函数的第二个参数中解构出来emit方法

2.调用emit方法 给父组件传递参数 其他的和之前一样

在vue2.x中 父子组件双向数据绑定 使用了.sync时间修饰符

在vue3.x中 跟v-model合并到一起使用了

父子组件双向数据绑定

vue3.x 使用v--model实现 父子双向数据流

父组件:

<Child v-model:传过去的自定义变量名="传过去的变量名"></Child>

子组件使用props接收传递过去的变量名

更改时:

emit('update:父组件传过来的变量名','新值')

别忘记 emits注册一下 emits:["update:父组件传过来的变量名"]

相关推荐
安心不心安24 分钟前
React封装框架dvajs(状态管理+异步操作+数据订阅等)
前端·react.js·前端框架
未来之窗软件服务40 分钟前
js调用微信支付 第二步 获取access_token ——仙盟创梦IDE
开发语言·javascript·微信·微信支付·仙盟创梦ide·东方仙盟
可可格子衫1 小时前
keep-alive缓存文章列表案例完整代码(Vue2)
vue.js·缓存
洛小豆1 小时前
为什么可以通过域名访问接口,但不能通过IP地址访问接口?
前端·javascript·vue.js
武昌库里写JAVA1 小时前
VUE vuex深入浅出
vue.js·spring boot·毕业设计·layui·课程设计
代码老y1 小时前
Spring Boot + MyBatis + Vue:从零到一构建全栈应用
vue.js·spring boot·mybatis
要加油哦~1 小时前
vue | rollup 打包 | 配置 rollup.config.js 文件,更改 rollup的行为
前端
洛小豆1 小时前
她问我Pinia两种Store定义方式,到底选哪种写法,我说我也不知道...
前端·vue.js·代码规范
罗政1 小时前
小区物业管理系统源码+SpringBoot + Vue (前后端分离)
vue.js·spring boot·后端
ew452182 小时前
【VUE】某时间某空间占用情况效果展示,vue2+element ui实现。场景:会议室占用、教室占用等。
前端·vue.js·ui·elementui