河南建设厅特种工报考网站/深圳外贸网站建设
文章目录
- 一、使用Vue脚手架
- 1.ref和props属性
- 2.mixin混入
- 3.组件化编码流程
- 4.webStorage
- 5.组件自定义事件
- 6.全局事件总线
- 7.消息订阅与发布
- 二、使用步骤
- 1.引入库
一、使用Vue脚手架
1.ref和props属性
ref属性:
(1)被用来给元素或子组件注册应用信息(id的替代者)
(2)应用在html标签上获取的是真实DOM元素,或应用在组件标签上是组件实例对象(VC)
(3)使用方法:打标识:
<h1 ref="xyz"></h1>或<School ref="xyz"></School>
提取标识:
this.$refs.xyz
props属性:
功能:让组件接收外部传过来的数据
如父组件给子组件传递数据,还可以让子组件给父组件传递数据,先在父组件中定义方法,子组件回调即可
使用:
(1)传递数据 :
(2)接收数据,第一种方式,只接收:props:[‘name’]
第二种方式,限制类型:
props:{name:String}
第三种方式,限制类型、限制必要性、指定默认值:
props:{name:{type:String,//类型required:true,//必要性default:'肖战'//默认值 }}
备注:props是只读的,Vue底层会检测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据
2.mixin混入
功能:可以把多个组件共用的配置提取成一个混入对象
使用方式:
第一步定义混合
{data(){....},methods:{.....}
}
第二步,使用混入
(1)全局混入:Vue.mixin(xxx)
(2)局部混入:mixins:[‘xxx’]
延申:
scoped样式
作用:让样式局部生效,防止冲突
写法:
<style scoped>.....</style>
3.组件化编码流程
组件化编码流程(通用)
1.实现静态组件,拆分组件(按功能点拆分),命名不要与html元素冲突,使用组件实现静态页面效果
2.展示动态数据:数据的类型及名称,数据保存在哪个文件,如一个组件使用,放在组件自身
3.交互,从绑定事件监听开始
4.webStorage
(1)存储内容大小一般支持5MB左右
(2)浏览器端通过Window.sessionStorage和Window.localStorage属性来实现本地存储机制
(3)相关API:
// 该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值
1.xxxStorage.setItem('key','value')
// 给方法接受一个键名作为参数,返回键名对应的值
2.xxxStorage.getItem('key')
// 给方法接受一个键名作为参数,并把该键名从存储中删除
3.xxxStorage.removeItem('key')
// 清空存储中的所有数据
4.xxxStorage.clear()
备注:
1】sessionStorage存储的内容会随着浏览器窗口关闭而消失
2】localStorage存储的内容,需要手动清除才会消失
3】xxxStorage.getItem(‘key’),如果key对应的value获取不到,那么getItem的返回值为null
4]JSON.parse(null)的结果依然是null
5.组件自定义事件
(1)一种组件间通信方式,适用于子组件===>父组件
(2)使用场景:A是父组件,B是子组件,B给A传数据,那么在A中给B绑定自定义事件(事件的回调在A中)
(3)绑定自定义事件:
第一种方式,在父组件中:
<Demo @addTodo="test"/>或<Demo v-on:addTodo="test"/>
第二种方式,在父组件中:
<Demo ref="demo"/>
....
mounted(){this.$refs.demo.$on("addTodo",this.test)
}
若想让自定义事件只能触发一次,可以使用once修饰符,或$once方法
(4)触发自定义事件:
this.$emit('addTodo',数据)
(5)解绑自定义事件:
this.$off('addTodo')
(6)组件上也可以绑定原生DOM事件,需要使用native修饰符
(7)注意:通过以下方式绑定自定义事件时,回调要么配置在methods中,要么用箭头函数,否则this指向会出问题
this.$refs.demo.$on("addTodo",回调或箭头函数)
6.全局事件总线
全局事件总线(GlobalEventBus)
(1)一种组件间通信的方式,使用于任意组件间通信
(2)安装全局事件总线
new Vue({render: h => h(App),beforeCreate(){Vue.prototype.$bus = this //安装全局事件总线,$bus就是当前应用的vm}
}).$mount('#app')
(3)使用事件总线
1】接收数据,A组件想接收数据,则在A组件中给$bus绑定自定义事件,事件的回调在A组件自身
this.$bus.$on('deleteTodo',this.deleteTodo)
2】提供数据
this.$bus.$emit('deleteTodo',数据)
(4)最好在beforeDestroy钩子中,用$off去解绑当前组件所用到的事件
7.消息订阅与发布
消息订阅与发布(pubsub)
(1)一种组件间通信的方式,适用于任意组件间通信
(2)使用步骤:
1】安装pubsub:npm i pubsub-js
2】引入:
import pubsub from 'pubsub-js'
3】接收数据,A组件想接收数据,则在A组件中订阅消息,订阅的回调在A组件自身
this.pubId = pubsub.subscribe('deleteTodo',this.deleteTodo) //订阅消息
4】提供信息
pubsub.publish('deleteTodo',数据)
5】最好在beforeDestroy钩子中,用pubsub.unsubscribe(this.pubId)取消订阅
延申:
nextTick
(1)语法:
this.$nextTick(回调函数)
(2)作用:在下一次DOM更新结束后执行其指定的回调函数
(3)什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行
二、使用步骤
1.引入库
相关文章:

学习Vue2.x
文章目录 一、使用Vue脚手架1.ref和props属性2.mixin混入3.组件化编码流程4.webStorage5.组件自定义事件6.全局事件总线7.消息订阅与发布 二、使用步骤1.引入库 一、使用Vue脚手架 1.ref和props属性 ref属性: (1)被用来给元素或子组件注册应…...

新手如何快速熟悉代码,写出东西(持续更新)
目录 第一章、最小编程任务的设想1.1)程序员入门会遇到的问题1.2)最小编程任务的设想1.3)编程逻辑1.4)具体需求 第二章、最小编程单元的练习2.1)代码/需求方面2.1.1)初级练习2.1.2)中级练习2.1.…...

11-网络安全框架及模型-软件安全能力成熟度模型(SSCMM)
目录 软件安全能力成熟度模型 1 背景概述 2 主要内容 3 成熟度等级定义 4 关键过程和实践 5 评估方法 6 改进建议 7 持续改进 8 主要价值 9 应用场景 10 优势和局限性 备注 软件安全能力成熟度模型 1 背景概述 SSCMM模型是软件安全能力成熟度模型,它描…...

Linux操作系统基础知识点
Linux是一种计算机操作系统,其内核由林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds)于1991年首次发布。Linux操作系统通常与GNU套件一起使用,因此也被称为GNU/Linux。它是一种类UNIX的操作系统,设计为多用户、多任务…...

python 通过opencv及face_recognition识别人脸
效果: 使用Python的cv2库和face_recognition库来进行人脸检测和比对的 0是代表一样 认为是同一人。 代码: pip install opencv-python pip install face_recognition# 导入cv2库,用于图像处理 import cv2 # 导入face_recognition库&#…...

Android开发中常见的Hook技术有哪些?
Hook技术介绍 Hook技术是一种在软件开发中常见的技术,它允许开发者在特定的事件发生时插入自定义的代码逻辑。常见的应用场景包括在函数调用前后执行特定的操作,或者在特定的事件发生时触发自定义的处理逻辑。 在Android开发中,Hook通常是通…...

【linux c多线程】线程的创建,线程信息的获取,获取线程返回值
线程创建 专栏内容: 参天引擎内核架构 本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对…...

MFC或QT中,自绘控件的目的和实现步骤
MFC自绘控件的步骤 自绘控件的目的是为了能够自定义控件的外观、行为和交互方式,以满足特定的需求,同时增强应用程序的用户体验。 实现步骤如下: 1、创建一个继承自MFC控件基类(如CButton、CStatic等)的自定义控件类…...

ceph集群搭建详细教程(ceph-deploy)
ceph-deploy比较适合生产环境,不是用cephadm搭建。相对麻烦一些,但是并不难,细节把握好就行,只是命令多一些而已。 实验环境 服务器主机public网段IP(对外服务)cluster网段IP(集群通信&#x…...

机器视觉系统选型-避免畸变
在定位及高精度测量的系统中,镜头畸变的影响尤其重要 • 使用远心镜头 • 进行系统标定...

机器学习笔记 - 线性判别分析(LDA)的原理和应用
一、LDA简述 线性判别分析(LDA)是监督机器学习中用于解决多类分类问题的一种方法。LDA通过数据降维来分离具有多个特征的多个类。这项技术在数据科学中很重要,因为它有助于优化机器学习模型。 线性判别分析,也称为正态判别分析 (NDA) 或判别函数分析 (DFA),遵循生成模型框…...

基于5G智能网关的智慧塔吊监测方案
塔吊是建筑施工中必不可少的设施,由于塔吊工作重心高、起重载荷大、人工视距/视角受限等因素,也使得塔吊在工作过程中着较多的危险因素。对此,可以部署基于工业5G智能网关搭建智慧塔吊安全监测系统,实现对塔吊运行的全局精细监测感…...

CountDownLatch详解以及用法示例
一、什么是CountDownLatch CountDownLatch中count down是倒数的意思,latch则是门闩的含义。整体含义可以理解为倒数的门栓。 CountDownLatch的作用也是如此,在构造CountDownLatch(int count):的时候需要传入一个整数count,在这个…...

【http】缓存协议
✨ 专栏介绍 在当今互联网时代,计算机网络已经成为了人们生活和工作中不可或缺的一部分。而要实现计算机之间的通信和数据传输,就需要依靠各种网络协议来进行规范和约束。无论是浏览网页、发送电子邮件还是进行在线交流,都离不开各种各样的网…...

vscode中使用GitHub Copilot Chat
文章目录 一、什么是Github Copilot Chat二、安装使用三、如何使用1. 聊天功能2. 内联功能 一、什么是Github Copilot Chat GitHub Copilot Chat 由 OpenAI 的 GPT-4 大型多模态模型提供支持,能带来更准确的代码建议、解释和指导。GitHub Copilot Chat 的内联功能可…...

lvgl 双物理显示器的驱动实现
目录 一、背景 1. 要实现的功能2. lvgl 版本 二、简单粗暴的方式 理论上可以这样实现缺陷: 三、lvgl 自身机制支持 3.1 实现思路3.2 初始化缓冲区和注册显示驱动 3.2.1 复制lv_port_disp → lv_port_disp_23.2.2 修改 lv_port_disp_2 文件3.2.3 在应用层调用显示器…...

论文阅读——X-Decoder
Generalized Decoding for Pixel, Image, and Language Towards a Generalized Multi-Modal Foundation Model 1、概述 X-Decoder没有为视觉和VL任务开发统一的接口,而是建立了一个通用的解码范式,该范式可以通过采用共同的(例如语义&#…...

【Kubernetes】控制器Statefulset
Statefulset控制器 一、概念二、Statefulset资源清单文件编写技巧2.1、查看定义Statefulset资源需要的字段2.2、查看statefulset.spec字段如何定义2.3、查看statefulset的spec.template字段如何定义 三、Statefulset使用案例:部署web站点3.1、编写一个Statefulset资…...

智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于鱼鹰算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鱼鹰算法4.实验参数设定5.算法结果6.参考文献7.MA…...

探索 Vue3 (五) 骨架屏
骨架屏是页面的一个空白版本,通常会在页面完全渲染之前,通过一些灰色的区块大致勾勒出轮廓,待数据加载完成后,再替换成真实的内容。 目前主流 UI库 都有骨架屏,如 Element-UI、Antd 可以看到使用起来非常简单&#x…...

java取出list中的某几个属性组成一个新的集合的几种方式
我用了三种方式,1:forEach循环;2:for循环;3:stream方法 package org.springblade.test;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors;public class Test {org.junit.jupiter.api…...

开源自托管导航页配置服务Dashy本地搭建结合内网穿透远程访问
开源自托管导航页配置服务Dashy本地搭建结合内网穿透远程访问 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一…...

Cloudstack多个管理服务器节点
https://docs.cloudstack.apache.org/en/4.18.0.0/adminguide/reliability.html 参考翻译: 代理上支持多个管理服务器 在具有多个管理服务器的Cloudstack环境中,可以根据算法配置代理,将其连接到哪个管理服务器。这对于内部负载均衡器或高可…...

31. Ajax
简介 AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。AJAX也可以简单的理解为通过JS向服务器发送请求。 AJAX这门技术很早就被发明,但是直到…...

ArrayList源码学习笔记(3)
时隔两年,重新读ArrayList源码,轻松了很多,以问题的方式记录一下收获 装饰器模式 注释中提到ArrayList本身不是线程安全的,注释如下: * <p><strong>Note that this implementation is not synchronized.&…...

flutter怎么对ReorderableListView中的用于排序的控制手柄进行显示或隐藏
我在使用ReorderableListView创建可排序列表的时候,需要在编辑的时候才显示右侧的控制排序的手柄。研究了半天,配合搜索引擎,才找到正确的方案。 答案很简单,就是在它的属性当中有一个叫做:buildDefaultDragHandles的…...

python 1200例——【9】斐波那契数列
文章目录 定义求解方法1. 递归方法2. 循环方法3. 动态规划方法4. 矩阵方法总结:定义 斐波那契数列(Fibonacci sequence)是一个在自然世界中经常出现的数学序列。它是由0和1开始,然后的每个数字都是前两个数字的和。因此,斐波那契数列的前几个数字是:0, 1, 1, 2, 3, 5, 8…...

JavaScript读写T5557卡源码
本示例使用发卡器: https://item.taobao.com/item.htm?spma1z10.5-c-s.w4002-21818769070.13.48ce6f89XlQ9Vf&id675212889085 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t…...

【数据结构】LRU缓存的简单模拟实现(leetcode力扣146LRU缓存)
文章目录 一、定义二、LRU模拟实现二、代码实现 一、定义 LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。 Cache的容量有限,因此当Cache的容量用完后,而又有新的内容需要添加进来时, 就…...

基于电商场景的高并发RocketMQ实战-Commitlog基于内存的高并发写入优化、基于JVM offheap的内存读写分离机制
🌈🌈🌈🌈🌈🌈🌈🌈 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁dz…...