位置: IT常识 - 正文

【学Vue就跟玩一样】如何使用vue中的消息订阅与发布,如何使用vue实现动画效果(vue自学)

编辑:rootadmin
【学Vue就跟玩一样】如何使用vue中的消息订阅与发布,如何使用vue实现动画效果 一,消息订阅与发布1.什么是消息订阅与发布

推荐整理分享【学Vue就跟玩一样】如何使用vue中的消息订阅与发布,如何使用vue实现动画效果(vue自学),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:学vue用什么软件,vue学完,学vue用什么软件,vue自学,vue自学,vue自学太难了看不懂,vue学起来困难吗,vue学完,内容如对您有帮助,希望把文章链接给更多的朋友!

消息订阅与发布是一种组件间通信的方式,适用于任意组件间通信。能更好的实现组件间通信(消息订阅与发布就像是送报员一样。好比小a向报社订阅了一份报纸,然后在报社留下了自己的信息,然后送报员就按着小a留下的信息找到了小a所在的地方将报纸送给了他)

2.如何使用pubsub

1.首先我们要安装pubsub,打开vscode→打开终端→输入一下安装命令(也可以在cmd进行安装)

npm i pubsub-js

2.引入(在需要使用pubsub的组件内引入即可)

import pubsub from ' pubsub-js'

3.接收数据A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身。

methods(){demo(data){.....}mounted() {this.pid = pubsub. subscribe( 'xx',this . demo) }

我们应该先找到想要接受数据的组件,配置一个mounted的配置项,进行消息的订阅subscribe这个单词也有订阅的意思,也就是下面这个组件就是小a的角色,他要订阅一份报纸,然后留下了自己的住址'hello',再利用回调获取数据,这里的msgName,data分别是订阅名和数据(也就是小a的家庭住址和送报员所携带的报纸)

import pubsub from "pubsub-js";export default {name: "School",data() {return {name: "山鱼特效屋",address: "南京北城区"};},mounted() {this.pubId = pubsub.subscribe("hello", (msgName, data) => {console.log("该消息已经发布", msgName, data);});},//使用完之后销毁该绑定事件避免后期错误使用beforeDestroy() {pubsub.unsubscribe();}};

提供数据

pubsub. publish( ' xxx' ,数据)

publish方法的第一个参数'hello'为订阅名,第二个参(this.name)为想要传递的数据。

import pubsub from "pubsub-js";export default {name: "Student",data() {return {name: "张三",sex: "男"};},// 配置一个methods项methods: {snedStudentName() {// 选择给谁提供数据pubsub.publish("hello", this.name);}}};

最好在beforeDestroy钩子中去取消订阅。

beforeDestroy() {pubsub.unsubscribe();}3.nextTick

1.语法:this. $nextTick(回调函数)

【学Vue就跟玩一样】如何使用vue中的消息订阅与发布,如何使用vue实现动画效果(vue自学)

2.作用:放在$nextTick 当中的操作不会立即执行,而是等数据更新,DOM更新完成之后再执行

3.使用时机:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。

二,Vue封装的过度与动画1.作用

在插入,更新,移除DOM元素时,在合适的时候给元素添加样式类名。

2.写法

准备好样式:元素进入的样式

<template><div><button @click="isShow = !isShow">隐藏展示</button><transition name="hidden" appear><h1 v-show="isShow">隐藏展示</h1></transition></div></template><script>export default {name: "Test",data() {return {isShow: true};}};</script><style scoped>h1 {background-color: orange;}.hidden-enter-active {animation: shanyu 1s;}.hidden-leave-active {animation: shanyu 1s reverse;}@keyframes shanyu {from {transform: translateX(-100%);}to {transform: translateX(0px);}}</style>1.样式

需要先有这个animate.css哦

npm i animate.css

1.v-enter:进入的起点

2.v-enter-active:进入过程中

3.v-enter-to:进入的终点

<template><div><button @click="isShow = !isShow">隐藏展示</button><transition-group name="shanyu" appear><h1 v-show="isShow" key = '1'>隐藏展示</h1><h1 v-show="isShow" key = '2'>隐藏展示</h1></transition-group></div></template><script>export default {name: "Test2",data() {return {isShow: true};}};</script><style scoped>h1 {background-color: rgb(139, 37, 255);}/* 进入的起点,离开的起点 */.shanyu-enter,.shanyu-leave-to {transform: translateX(-100%);}.shanyu-enter-active,.shanyu-leave-active{transition: .5s linear;}/* 进入的终点离开的终点 */.shanyu-enter-to,.shanyu-leave {transform: translateX(0);}</style>

元素离开的样式:

1.V-leave:离开的起点

2.V-leave-active:离开过程中

3.V-leave-to:离开的终点

4.使用<transition>包裹要过度的元素,并配置name属性

<transitionname="hello"><h1v-show=" isShow">你好啊! </h1></transition>

备注:若有多个元素需要过度,则需要使用: <transition-group>, 且每个元素都要指定key值。

<transition-group name="shanyu" appear><h1 v-show="isShow" key = '1'>隐藏展示</h1><h1 v-show="isShow" key = '2'>隐藏展示</h1></transition-group>
本文链接地址:https://www.jiuchutong.com/zhishi/300375.html 转载请保留说明!

上一篇:JS 数组中的 filter 方法(js 数组中的重数)

下一篇:TypeScript详解十六:类型声明(declare)(typescriptlang)

  • faceu怎么虚化背景(facetime背景虚化)

    faceu怎么虚化背景(facetime背景虚化)

  • 荣耀50有耳机孔吗(荣耀50耳机孔坏了怎么办)

    荣耀50有耳机孔吗(荣耀50耳机孔坏了怎么办)

  • 红米note11pro是什么指纹

    红米note11pro是什么指纹

  • 苹果手机在哪里设置锁屏时间(苹果手机在哪里看型号和版本)

    苹果手机在哪里设置锁屏时间(苹果手机在哪里看型号和版本)

  • 华为mate20文件管理在哪里(华为mate20文件管理怎么找)

    华为mate20文件管理在哪里(华为mate20文件管理怎么找)

  • 华为手机怎么打出来圆圈1(华为手机怎么打开OTG功能)

    华为手机怎么打出来圆圈1(华为手机怎么打开OTG功能)

  • 手机出现无命令怎么办(手机出现无命令怎样开机)

    手机出现无命令怎么办(手机出现无命令怎样开机)

  • iphone8突然死机怎么回事(iphone8突然死机然后微信聊天记录没了)

    iphone8突然死机怎么回事(iphone8突然死机然后微信聊天记录没了)

  • 华为honor10什么型号(华为honor10什么处理器)

    华为honor10什么型号(华为honor10什么处理器)

  • 腾讯包季会员是几个月(腾讯会员包季划算还是包月)

    腾讯包季会员是几个月(腾讯会员包季划算还是包月)

  • 拼多多的个人中心在哪里找(拼多多的个人中心怎么找)

    拼多多的个人中心在哪里找(拼多多的个人中心怎么找)

  • 微信删除对方后对方列表里还有我吗(微信删除对方后还能恢复聊天记录吗)

    微信删除对方后对方列表里还有我吗(微信删除对方后还能恢复聊天记录吗)

  • 自己家的网络为什么拒绝接入(自己家的网络为什么显示无法加入)

    自己家的网络为什么拒绝接入(自己家的网络为什么显示无法加入)

  • 电子邮件传输的基本协议(电子邮件传输的工作过程)

    电子邮件传输的基本协议(电子邮件传输的工作过程)

  • 朋友圈屏蔽是什么意思(朋友圈屏蔽是什么样子)

    朋友圈屏蔽是什么意思(朋友圈屏蔽是什么样子)

  • 华为手机有没有nfc功能(华为手机有没有空调遥控器的功能)

    华为手机有没有nfc功能(华为手机有没有空调遥控器的功能)

  • 淘宝怎么取消设置提醒(淘宝怎么取消设置免密支付功能)

    淘宝怎么取消设置提醒(淘宝怎么取消设置免密支付功能)

  • 三星W20 5G是什么处理器(三星w2020是5g手机吗)

    三星W20 5G是什么处理器(三星w2020是5g手机吗)

  • 微信语音连接失败原因(微信语音连接失败对方已挂断)

    微信语音连接失败原因(微信语音连接失败对方已挂断)

  • 芯片指的是什么(芯片指的是什么意思啊)

    芯片指的是什么(芯片指的是什么意思啊)

  • 网络位置耗电怎么解决(网络位置耗电怎么关闭)

    网络位置耗电怎么解决(网络位置耗电怎么关闭)

  • qq回收站能恢复视频吗(qq回收站恢复3年前照片)

    qq回收站能恢复视频吗(qq回收站恢复3年前照片)

  • 如何手动更新Windows11?手动更新Win11系统详细步骤(如何手动更新目录)

    如何手动更新Windows11?手动更新Win11系统详细步骤(如何手动更新目录)

  • java委托事件模型的使用(java委托模式和代理模式)

    java委托事件模型的使用(java委托模式和代理模式)

  • React 18 特性(react 16新特性)

    React 18 特性(react 16新特性)

  • 不动产租赁服务属于现代服务吗
  • 小微企业减免增值税申报表填写
  • 大巴车怎么进行营运
  • 出口退税增值税账务处理
  • 二级分支机构不具有主体生产经营职能
  • 个人所得税里累计专项扣除是什么意思
  • 小规模纳税人不允许开具零税率发票
  • 销售发票红冲会计分录怎么做?
  • 逾期缴纳车辆购置税后情况说明怎么写
  • 工程用油计入什么科目
  • 进出口企业如何防范汇率风险
  • 国税里发票采集中的税控机动车发票是指什么发票?
  • 信用卡消费凭证
  • 平销返利怎么开票入账
  • 视同销售产品与收款尾差怎么处理
  • 广告公司固定资产有哪些?
  • 卸载了驱动程序会怎么样
  • 调整低电量通知怎么设置
  • 总公司与分公司的账务处理
  • 开红字专用发票记账时摘要怎样写?
  • 冲办公费会计分录
  • 行政单位跨年度收到发票,补付尾款会计分录
  • 企业年金税前扣除比例
  • 夕阳下的大白鲨过山车,美国新泽西州 (© John Van Decker/Alamy)
  • batset命令
  • php数组数据结构
  • 特定业务预缴
  • php反射获取方法参数
  • 工商年报认缴出资时间填错了,有什么后果
  • linux rm 命令
  • php程序技术
  • #cookie jar
  • 一般纳税人和小微企业的区别
  • gawk命令 模式扫描与处理语言
  • wordpress jquery
  • 报销用别的发票抵用怎么入账
  • 增值税销项税红字应如何报税
  • http上传错误
  • 帝国cms模板怎么样用
  • 筹建期所得税年度申报如何填列
  • 主营业务成本可以设明细科目吗
  • 以前年度的企业所得税怎么入账
  • 事业单位成本核算具体指引—公立医院
  • 子公司再设立子公司
  • 增加固定资产原值50%以上
  • 归还股东投资款本息怎么做账
  • 电子承兑汇票兑现扣几个点
  • 企业所得税计算题及答案解析
  • 个体户查账征收和核定征收哪个好
  • 普惠性幼儿园是公立还是私立的?
  • 差额征税如何做分录
  • 残保金补申报需要交滞纳金吗
  • 普通发票和增值发票的区别在哪里
  • 装饰公司购买的安装服务怎么入账
  • 吸收的三种方式
  • mysql使用语句
  • mysql5.7安装教程详细
  • mac开机后蓝屏没反应
  • 桌面快捷方式不显示图标怎么办
  • ntdll.dll no matching
  • win7修改系统版本
  • slserves.exe - slserves是什么进程
  • windows无法运行
  • win8怎么玩帝国时代2
  • win7如何开启飞行模式
  • 安装centos7.0
  • 无法装win7
  • unix怎么操作
  • Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
  • js message事件
  • Android 为LinearLayout增加分割线 divider
  • jquery 输入框输入完触发事件
  • python调用python代码
  • jquery遍历json对象
  • 建筑施工税务处理
  • 上海中考规定
  • 重大税务案件审理办法51号令
  • 辽宁地税电子税票查询
  • 徐州交社保有户口限制吗
  • 国税发票什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设