子组件中this.$emit(“input”, false)的解释(个人见解)
1.先看官方文档
在父组件中有如下的定义
<new-album v-model="isNewAlbum"></new-album>
等同于下面的写法
<new-album v-bind:value="isNewAlbum" v-on:input="isNewAlbum=$event"></new-album>
在子组件中用下列写法接收
props: {
value: {
type: Boolean
}
},
data() {
return {
show: this.value,
};
},
...
watch: {
value(val) {
this.show = val;
},
show(val) {
if (!val) {
this.$emit("input", false);
}
}
},
input事件将false传递给父组件中用v-model绑定的isNewAlbum,即执行isNewAlbum=false