请老师解释一下自定义事件

请老师解释一下自定义事件

请问老师关于$event 到底是什么意思

在官方介绍中有个例子

this.$emit('update:title', newTitle)
    
然后父组件可以监听那个事件并根据需要更新一个本地的数据属性。例如:
<text-document
  v-bind:title="doc.title"
  v-on:update:title="doc.title = $event"
></text-document>

子组件触发了update:title这个自定义事件,父组件在标签上监听了这个事件。触发时候传入了一个值。

我想请问为什么$event等于子组件触发时候传的值。$event不是代表dom事件中的event是一个状态对象吗。为什么会成为了一个值。请问老师这时为什么,麻烦详细解释下。(以及我还有一个疑问,如果子组件触发自定义事件的时候不传第二个参数是不是$event默认是event状态?)

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

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

2回答
正在想名字呢 2018-11-19 15:01:48

1、this.emit("自定义事件名",要传送的数据),用来触发父组件的自定义事件

2、v-on:update:title="doc.title = $event",其中,doc.title是传递 doc 对象中的title属性,$event是接收的值,这个是vue的语法糖,与你说的dom事件中的event状态对象是两回事

  • 提问者 hy_wang #1
    那这里的$event请问就是代表event状态了吗,而是emit传递过来的值是吗
    2018-11-19 22:04:47
  • 正在想名字呢 回复 提问者 hy_wang #2
    是emit传递过来的值
    2018-11-20 11:13:21
  • 正在想名字呢 回复 提问者 hy_wang #3
    ​这么说吧,这个是通过事件向父级组件发送消息的一种方法:使用事件抛出一个值,可以理解如下:用一个事件来抛出一个特定的值,使用$emit的第二个参数来提供这个值,然后当在组件监听这个事件的时候,通过$event访问到被抛出的这个值,所以这里的$event只是用来接收$emit的第二个参数提供值的。
    2018-11-20 11:33:56
正在想名字呢 2018-11-18 15:29:52

emmmm……没看懂想要表达什么意思,同学可否再具体说明下?

  • 提问者 hy_wang #1
    Event不是原生事件的状态吗,为什么$event的值是第一个参数值
    2018-11-18 16:15:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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