起因: 在vue项目中报错, 如下:
栈顶信息为"at Vue$3.Vue.$emit (vue.esm.js?efeb:2498)", 因为有$emit, 可以判断是自定义的事件报错, 断点,
是因为name为null造成的, 进而定位到是push路径时使用了相对路径, 在组件复用中导致出错.
改为绝对路径, 问题解决了.
vue的事件机制:Vue.js为我们提供了四个事件API,分别是$on,$once,$off,$emit。
$on
on方法用来在vm实例上监听一个自定义事件,该事件可用emit触发。
$once
$once监听一个只能触发一次的事件,在触发以后会自动移除该事件。
$off
$off用来移除自定义事件
$emit
$emit用来触发指定的自定义事件。