通过sync
修饰符,来实现子组件更新父组件状态,是目前写法上最方便的语法糖了。下面举个例子
1、首先父组件声明状态active
,并写一个子组件
<compo :foo.sync="active"></compo>
这种语法糖其实会被解析成
<compo :foo="active" @update:foo="val => active = val"></compo>
2、在子组件中,要是想修改父组件active
的值,写个 emit
就搞定了
this.$emit('update:foo', newValue)