父组件:
<my-productlist :dataArr="productListData" @childEvent = 'toDetail'></my-productlist>
<script>
import myProductlist from '../components/productList.vue';
export default{
data(){
return{
productListData:[.....] //数据
}
}
methods:{
toDetail(data){
console.log('子组件点击传过来的值:'+data)
}
},
components: {
myProductlist
},
}
</script>
子组件接收值并传递事件:
<div id="wrap" class="listView">
<div class="list-item" v-for="(v,i) in productList" :key="i" @click="_toDetail(i)">{{v}}</div>
</div>
<script>
export default{
props:['dataArr'], //props接收父组件的值
data(){
return{
productList:this.dataArr
}
},
methods:{
_toDetail(i){
this.$emit('childEvent',i) //传递触发事件
}
}
}
</script>