深入了解vue自定义组件之$listeners

官方文档地址
$listeners是vue提供的一个对象,里面包含了所有作用在这个组件上的监听器。
比如你要自定义一个input组件,需要监听input获取焦点的事件
你可以这样做
自定义组件代码





父组件代码


这样就可以实现预期的功能,但是你也可以使用更优雅的做法
修改之后
自定义组件代码




父组件完整代码





使用v-on="$listeners" 将所有的事件监听器指向这个组件的某个特定的子元素
也可以使用一个计算属性重写$listeners,上面代码中使用inputListeners重写了$listeners
这样就不用为每一个监听器写一个监听函数

你可能感兴趣的:(深入了解vue自定义组件之$listeners)