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

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl