<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="vue.js" type=""></script>
</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 type="text/javascript">
// 1.子组件
const cpn={
template:'#cpn',
data(){
return{
categories:[
{id:'aaa',name:'熱門推薦'},
{id:'bbb',name:'手機數碼'},
{id:'ccc',name:'家用電器'},
{id:'ddd',name:'電腦辦公'}
]
}
},
methods:{
btnClick(item){
//發射事件,自定義事件
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>
运行结果: