vue 子组件调用父组件的方法($emit)

子组件代码

<template>
	<div class="item" @click="gotoView($event)" >
		<div class="iconfont-box">
			<slot></slot>
		</div>
		<div class="title">Blog</div>
	</div>
</template>

<script>
export default{
	name: 'CubeNavItem',
	props: ["id","title"],
	methods: {
		gotoView: function($event){
			this.$emit('fatherGoToView',this.title,$event);
		}
	}
}
</script>

<style scoped>
</style>

父组件代码

<template>
	<div class="window-bg">
		<div class="box">
			<cube-nav-item @fatherGoToView="goToView" v-for="item in navList" :key="item.id" :id="item.id" :title="item.title">
				<span class="iconfont item-iconfont" v-html="item.iconfont"></span>
			</cube-nav-item>
		</div>
	</div>
</template>

<script>
import CubeNavItem from "@/components/CubeNavItem";
export default{
	name: 'index',
	data(){
		return {
			navList: [
				{id: 1,iconfont: '&#xe660;',title: 'Blog'},
				{id: 2,iconfont: '&#xe656;',title: 'Music'},
				{id: 3,iconfont: '&#xe636;',title: 'Dome'},
				{id: 4,iconfont: '&#xe62f;',title: 'Me'}
			]
		};
	},
	components: {
		"cube-nav-item": CubeNavItem
	},
	methods: {
		goToView: function(title,event){
			alert(title);
			console.log(event);
		}
	}
}
</script>

<style scoped >
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值