<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
//父组件
<div id="app">
<cpn @item-click='cpnClick'></cpn>
</div>
//子组件
<template id="cpn">
<div>
<button v-for='item in categories'
@click='btnClick(item)'>
{
{item.name}}
</button>
</div>
</template>
<script crossorigin="anonymous" integrity="sha512-YXLGLsQBiwHPHLCAA9npZWhADUsHECjkZ71D1uzT2Hpop82/eLnmFb6b0jo8pK4T0Au0g2FETrRJNblF/46ZzQ==" src="https://lib.baomitu.com/vue/2.6.12/vue.js"></script>
<script>
//1.子组件
const cpn={
template:'#cpn',
data(){
return{
categories:[
{
id:'aaa',name:'热门推荐'},
{
id:'bbb',name:'手机数码'},
{
id:'ccc',name:'家用家电'},
{
id:'ddd',name:'电脑办公'}
]
}
},
methods: {
btnClick(item){
//发射 $emit触发事件
this.$emit('item-click',item)
}
}
}
//2.父组件
const app=new Vue({
el:'#app',
data:{
message:'您好啊',
},
components:{
cpn
},
methods:{
cpnClick(item){
console.log('cpnClick',item)
}
}
})
</script>
</body>
</html>
vue子传父$emit
猜你喜欢
转载自blog.csdn.net/qq_42526440/article/details/115141016
今日推荐
周排行