网站首页 > 教程文章 正文
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- 父组件模板 -->
<div id="app">
<cpn @itemclick="cpnclick"></cpn>
<!-- 监听子组件发射的事件名,监听到后调用函数 -->
</div>
<!-- 子组件模板 -->
<template id="cpn">
<div id="aaa">
<!-- 遍历按钮数组,每个按钮单独赋值 -->
<button v-for="item in categories"
@click="btnclick(item)"> <!-- 绑定点击事件调用函数 -->
{{item.name}} <!-- 每个值的名字显示(就是按钮名) -->
</button>
</div>
</template>
<script src="../js/vue.js"></script> <!-- 引用vue -->
<script type="text/javascript">
// 子组件
const cpn = {
template: '#cpn',
data(){
return {
categories:[
{id: 'aaa', name: '热门推荐'},
{id: 'aaa', name: '手机数码'},
{id: 'aaa', name: '家用家电'},
{id: 'aaa', name: '电脑办公'}
]
}
},
// 方法:存放函数
methods:{
btnclick(item){ // 按钮点击调用的函数
// console.log(item.name) // 打印item的名字
this.$emit('itemclick', item) // 发射事件名为:'itemclick',参数为:item
}
}
}
// 父组件
const app = new Vue({
el: '#app',
data:{
message: '我是父组件'
},
components:{ // 注册子组件
cpn
},
methods:{
cpnclick(item){ // cpn被点击事件
console.log(item.name) // 打印按钮名称
}
}
})
</script>
</body>
</html>
猜你喜欢
- 2025-10-13 Vue el-element ui 清空表格选中记录
- 2025-10-13 Vue3基础难点总结_vue3 从入门到实战 进阶式掌握完整知识体系
- 2025-10-13 Vue深入组件:组件事件详解1_组件使用vuex
- 2025-10-13 分享 15 个 Vue3 全家桶开发的避坑经验
- 2025-10-13 vue 3 学习笔记 (八)——provide 和 inject 用法及原理
- 2025-10-13 vue-element-admin 增删改查(五)_vue element admin 登录修改
- 2025-10-13 微信小程序双向数据绑定,父子传参
- 2025-10-13 Vue3 中有哪些值得深究的知识点?_vue常用知识点
- 2025-10-13 Vue3常用的6种组件通信方式,你一定都用过!
- 2025-10-13 面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)