在子组件中 使用父组件传递过来的数据,在vue中数据的传递是按照单向数据流的方式传递的。[换句话说] 数据只能从度组件传递到子组件,但是子组件的数据传递不到父组件 并且也不能 修改 父组件的数据 [所以] 在vue中 子组件如果想要修改父组件的值,只有两种方案:
方法1.在子组件中复制一份父组件的数据出来,后续修改自己组件中的值,不要修改 父组件的值
方法2.在子组件中如果想要修改父组件的值,给父组件说一声,让它帮忙修改
目前:我们使用的是 第一种解决方案,第二种 后续讲解
方法1代码讲解:
步骤有三:
1.先把父组件的数据button 复制一遍
2.在子组件配置中进行声明,声明时请带上this (data和props中的数据都需要带上this)
3.在子组件中接收父组件传递过来的数据 用props来接收
<button @click="copyAppCount++"> 复制父组件的数据 copyAppCount: {{copyAppCount}}
</button>
app.component('mybtn', {
template: `#tem`,
data() {
return {
myBtnCount: 0,
//复制一份
copyAppCount: this.appcount
}
},
// 在子组件中接受父组件传递过来的数据
props: ['appcount']
})