VueCLI核心知识2:插件、自定义事件

2024-02-13 17:36

本文主要是介绍VueCLI核心知识2:插件、自定义事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 插件

功能:增强Vue

1. 定义插件


2. 使用插件


2 自定义事件

一种组件间的通信方式:适用于 子组件  ===>   父组件

方式1:使用 @或者v-on:

<template><div id="app"><!-- 1.通过父组件给子组件绑定一个自定义事件实现:子给父传递数据 (第一种写法使用 @或者v-on:)--><Student v-on:getStudentName="getStudentName"></Student> <!-- <Student @getStudentName="getStudentName"></Student> --> </div>
</template><script>import Student from './components/Student.vue'import School from './components/School.vue'export default {name:'App',components:{Student, School},methods:{// 通过多加个参数,可以传递多个参数// ...params 代表可以传递多个参数getStudentName(name, ...params) {console.log('app收到了学生名', name, params)this.studentName = name},}}
</script><style> #app {background-color: pink;}
</style>

子组件执行绑定的事件 ($emit

<template><div class="student"><button @click="sendStudentName">点我传递学生姓名</button><button @click="loop">解绑自定义事件</button><button @click="death">销毁组件</button></div>
</template><script>export default {name: 'Student',methods: {sendStudentName() {this.$emit('getStudentName', this.name, 666, 888, 999)},loop() {this.$off('getStudentName')  // 只适用于解绑一个自定义事件// this.$off(['getStudentName', 'a', 'b', 'c'])  // 只适用于解绑多个自定义事件, 写成数组的形式// this.$off()  // 解绑所有的自定义事件},death() {this.$destroy()  // 销毁了当前Student组件, 销毁后所有Student实例的自定义事件全都不奏效},}}
</script><style scoped>.student {background-color: yellow;}
</style>

 

方式2:ref属性

<template><div id="app"><!-- 通过父组件给子组件绑定一个自定义事件实现:子给父传递数据 (第二种写法使用 ref 属性)--><Student ref="student"></Student>  
</template><script>import Student from './components/Student.vue'import School from './components/School.vue'export default {name:'App',components:{Student, School},methods:{// 通过多加个参数,可以传递多个参数// ...params 代表可以传递多个参数getStudentName(name, ...params) {console.log('app收到了学生名', name, params)this.studentName = name}},mounted() {setTimeout(() => {this.$refs.student.$on('getStudentName', this.getStudentName) // 绑定自定义事件// 指向触发一次// this.$refs.student.$once('getStudentName', this.getStudentName)  // 绑定自定义事件(一次性)}, 2000)}}
</script><style> #app {background-color: pink;}
</style>

子组件写法不变,也是执行 getStudentName

总结:

这篇关于VueCLI核心知识2:插件、自定义事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706169

相关文章

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

如何自定义一个log适配器starter

《如何自定义一个log适配器starter》:本文主要介绍如何自定义一个log适配器starter的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求Starter 项目目录结构pom.XML 配置LogInitializer实现MDCInterceptor

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3