这届科讲的是父子之间的传值

这届科讲的是父子之间的传值

但是,好像也没讲清楚父组件是怎么获取子组件的值得???感觉案例讲的父组件最终也只是将一个初始的值按传递的参数进行改变,如何利用父组件真正意义上的改变:count中的值呢???子组件也只是复制一个对象而已

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-07-29 16:15:01

同学你好,对于你的问题解答如下:

  1. 是可以的。

    同学也可以写一写代码测试下结果,帮助自己更好的理解,示例:

    http://img1.sycdn.imooc.com//climg/5f212f2209c4c0fd09250279.jpg

    每次传递的就是this.number的值,示例:

    http://img1.sycdn.imooc.com//climg/5f212f43099926f207310594.jpg

  2. 是的,父组件中绑定事件的时候不用写参数

祝学习愉快~

好帮手慕慕子 2020-07-29 10:26:53

同学你好,对于你的问题解答如下:

  1. 子组件中使用$emit()触发父组件事件,将数据作为参数传递给父组件,这样在父组件中就可以获取到子组件传递的值。

    如下示例:

    视频中,父组件中在子组件上定义了一个自定义事件inc,事件名为handleIncrease用于接收子组件传过来的值

    http://img1.sycdn.imooc.com//climg/5f20db6c0991304b09800625.jpg

    子组件的div元素上添加了一个click事件,当点击的时候使用$emit()触发事件,把值传给父组件。

    http://img1.sycdn.imooc.com//climg/5f20dc8a09149d9f09600477.jpg

    打印结果如下:

    http://img1.sycdn.imooc.com//climg/5f20dc9f0905fdb610820361.jpg

  2. vue语法中规定,子组件向父组件传值的本质,就是在子组件中通过$emit()触发事件,将值作为参数传递过去。

  3. :count = "2" 表示是父组件向子组件中传值,在子组件中使用props接收父组件传递的值

    http://img1.sycdn.imooc.com//climg/5f20dd45095a40d710310704.jpg

    由于语法中规定,在子组件中不可以直接修改父组件传递的值,所以无法直接在子组件中直接修改count的值。解决方法就是在子组件中定义个新的变量接收父组件传递过来的值,然后对新定义的变量进行操作。

同学可以回顾下视频讲解,运行源码,结合代码实现的效果,帮助自己更好的理解。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~


  • 提问者 慕雪9296518 #1
    也就是说将子组件中data返回的对象作为参数传给父组件是吗 比如这里:this.$emic('inc',this.number)就可以是吗 那父组件中<counter :count="2" @inc="handleIncrease">应该不用写参数吧
    2020-07-29 15:03:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师