父传子(父通过import + component
写入子组件,然后v-bind
绑定数据,子通过props
接收)
思路
子组件:child.vue
要点:
props
数组里面是父组件上的自定义属性名- 在
template
里面进行数据接收
父组件:father.vue
要点:
- 引入 child.vue 文件,并为其创建一个变量
- 在
components
里面写出这个变量 - 在
template
里面需要注册子组件
保存修改的文件,查看浏览器
我们可以对 message 的值进行 v-bind 动态绑定
此时浏览器中
总结
- 子组件在props中创建一个属性,用以接收父组件传过来的值
- 父组件中注册子组件
- 在子组件标签中添加子组件props中创建的属性
- 把需要传给子组件的值赋给该属性
子传父(子click
设置点击事件,$emit
设置通道后传参,父在methods
接收)
思路
子组件:child.vue
- 在子组件中创建一个按钮,给按钮绑定一个点击事件
- 在响应该点击事件的函数中使用
$emit
来触发一个自定义事件,并传递一个参数
父组件:father.vue
- 在父组件中的子标签中监听该自定义事件并添加一个响应该事件的处理方法
- 保存修改的文件,在浏览器中点击按钮
总结
- 子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件
- 将需要传的值作为$emit的第二个参数,该值将作为实参传给响应自定义事件的方法
- 在父组件中注册子组件并在子组件标签上绑定对自定义事件的监听
- 在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。抓准这两点对于父子通信就好理解了
兄弟组件(兄click
设置点击事件,用$emit
设置通道传参给中转站,弟通过$on
接收来自中转站的参数)
思路
中转站文件
创建 bus.js 做为中转站文件
bus.js 内容为
child1.vue
child2.vue
总结
- 兄组件通过
click
设置点击事件 - 兄组件通过
$emit
设置通道传参给中转站 - 弟组件通过
$on
接收来自中转站的参数
参考文章
- 【vue组件之间互相传值:父传子,子传父】
- Vue 父传子,子传父,兄弟组件通信的使用
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!