我是靠谱客的博主 健壮小霸王,这篇文章主要介绍vue 中子组件或者公共组件向上一级传递数据 $emit的使用,现在分享给大家,希望可以做个参考。

在子组件或者公共组件中,定义一个方法例如

<li @click="selectItem(item)" v-for="item in group.items" class="list-group-item">

  然后在methods中使用

selectItem(item){
this.$emit('select',item);
}

$emit中的两个参数的含义是,一个是传递给父组件的方法,一个是传递给父组件方法的参数。

也就是说,父组件通过使用子组件通过$emit传递的方法select及其参数,来得到传递的数据。

并且,父组件直接使用的select方法其实就是自定义方法的用法,触发这种自定义方法就是子组件触发传递$emit的方法,也就是click。

 <ListView @select='selectSinger' :data="singers"></ListView>

此处select既是子组件通过$emit传递的自定义方法

selectSinger则是父组件接收select所带的参数的方法

selectSinger(singer) {
this.$router.push({
path:`/singer/${singer.id}`
})
}

参数singer既是子组件$emit所传递的item参数。

 

若是有用并觉得不错,可以赞一个哟

转载于:https://www.cnblogs.com/zhoujx1066/p/7102716.html

最后

以上就是健壮小霸王最近收集整理的关于vue 中子组件或者公共组件向上一级传递数据 $emit的使用的全部内容,更多相关vue内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部