子组件代码
父组件代码
大多数情况下,父组件通过v-bind(:)的方式修改子组件的props对象中的属性来达到父改子的目的;
反过来,子改父则通过语法糖: .sync修饰符的方式修改,代码例子如上述
.sync 修饰符(用于子组件修改父组件)
是@update:changeTitle="obj.title = $event" 语法糖,其原理就是将event对象传入到子组件
如何实现:
1)子组件首先定义个props属性:
props: {
title: {
type: String,
default: "",
},
},
其次定义一个emit:
this.$emit("update:changeTitle", newTitle);
2)父组件如果实现双向绑定,则需要:
1.v-bind 作为单向子组件修改其属性,这里不做详细代码说明,用的太熟了
2.使用语法糖作为子组件修改父组件其属性:
:title="obj.title" // props,父组件修改子组件
:changeTitle.sync="obj.title" // 通过点击子组件的方法,修改父组件
2)场景二,子向父单向修改
子组件代码:
父组件代码:
当点击按钮后,这里的msg属性值会发生改变
可以试想下子改父的需求场景,
大概逻辑就是这样,具体用法的看业务需求。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。