Vue 关于组件封装时父子组件通讯的三种方式

主要是遵循vue的单向数据源规则,具体用什么方式取决于自己以及项目实际情况
如果是基本类型,可以使用比较简单直接的方法,这里三种方式主要是针对的对象,里面会包含多个参数

方式一:直接通过props直接修改子组件里的值(不推荐,因为通过子组件直接修改了props里的值,违反了单向数据源)

在子组件里定义props

Vue 关于组件封装时父子组件通讯的三种方式_第1张图片

父组件引入使用

Vue 关于组件封装时父子组件通讯的三种方式_第2张图片

方式二: 跟第一种方法其实做法是差不多的

在父组件里直接使用v-model进行双向绑定

Vue 关于组件封装时父子组件通讯的三种方式_第3张图片

子组件使用modelValue

ts部分

Vue 关于组件封装时父子组件通讯的三种方式_第4张图片

 这里其实set方法没有及时响应

Vue 关于组件封装时父子组件通讯的三种方式_第5张图片

template使用

Vue 关于组件封装时父子组件通讯的三种方式_第6张图片

方法三 : 建议使用

使用的是props+emits

子组件

Vue 关于组件封装时父子组件通讯的三种方式_第7张图片

Vue 关于组件封装时父子组件通讯的三种方式_第8张图片

父组件使用 

Vue 关于组件封装时父子组件通讯的三种方式_第9张图片

你可能感兴趣的:(vue.js,前端,javascript)