我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以变更父组件,且在父组件和子组件都没有明显的变更来源。
父组件中:
<parent :age="age" @setAge="res => age = res"></parent>
data () {
return {
age: 10
}
},
子组件中:
<div>
{{age}}
</div>
this.$emit(input', 400)
但是上面父组件那样写很常见也很复杂,于是我们可以用.sync来简化我们的写法
父组件中:
<parent :age.sync="age"></parent>
子组件中,必须以update开头,加上我们要改变的属性!!!
this.$emit('update:age', 400)