位置: 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)

  • 微信朋友圈怎么删除评论(微信朋友圈怎么发长视频教程)

    微信朋友圈怎么删除评论(微信朋友圈怎么发长视频教程)

  • 电脑版WPS怎样自定义稿纸(电脑wps2019怎么用)

    电脑版WPS怎样自定义稿纸(电脑wps2019怎么用)

  • 团购退款商家会知道吗(团购 退出)

    团购退款商家会知道吗(团购 退出)

  • 钉钉手机共享屏幕视频没有声音(钉钉手机共享屏幕ppt)

    钉钉手机共享屏幕视频没有声音(钉钉手机共享屏幕ppt)

  • 快手直播伴侣投屏失败怎么回事(快手直播伴侣投屏中断怎么回事)

    快手直播伴侣投屏失败怎么回事(快手直播伴侣投屏中断怎么回事)

  • 抖音在文件管理叫什么(抖音在文件管理怎么找)

    抖音在文件管理叫什么(抖音在文件管理怎么找)

  • 抖音怎么评论而不是回复(在抖音怎么评论)

    抖音怎么评论而不是回复(在抖音怎么评论)

  • qq家族怎么找不到了(以前的qq家族怎么没有了)

    qq家族怎么找不到了(以前的qq家族怎么没有了)

  • 电脑桌面图标上有个白色方框是什么(电脑桌面图标上有个文件图标)

    电脑桌面图标上有个白色方框是什么(电脑桌面图标上有个文件图标)

  • 内存诊断工具是干嘛的(内存诊断工具是什么)

    内存诊断工具是干嘛的(内存诊断工具是什么)

  • 苹果外包装序列号在哪(苹果外包装序列号未激活)

    苹果外包装序列号在哪(苹果外包装序列号未激活)

  • 斐讯路由器k2是千兆路由器吗(斐讯路由器K2是千兆吗)

    斐讯路由器k2是千兆路由器吗(斐讯路由器K2是千兆吗)

  • 电话手表屏摔坏了怎么办(电话手表屏摔坏了要多少钱)

    电话手表屏摔坏了怎么办(电话手表屏摔坏了要多少钱)

  • 抖音必须要手机注册吗(一个手机怎么开两个抖音)

    抖音必须要手机注册吗(一个手机怎么开两个抖音)

  • word怎么安装新字体(word安装教程)

    word怎么安装新字体(word安装教程)

  • 如何删除siri里的记录(siri如何删除app)

    如何删除siri里的记录(siri如何删除app)

  • 苹果xsmax指纹解锁功能(苹果xsmax指纹解锁怎么设置)

    苹果xsmax指纹解锁功能(苹果xsmax指纹解锁怎么设置)

  • blnkl路由器怎么设置(blink路由)

    blnkl路由器怎么设置(blink路由)

  • 荣耀v30支持无线充电吗(荣耀80支持5g网络吗)

    荣耀v30支持无线充电吗(荣耀80支持5g网络吗)

  • 华为手机录屏如何不要显示顶部时间(华为手机录屏如何录制系统声音)

    华为手机录屏如何不要显示顶部时间(华为手机录屏如何录制系统声音)

  • 华为p30怎么开空调(华为p30开空调)

    华为p30怎么开空调(华为p30开空调)

  • 冬日里的科赫尔湖,德国巴伐利亚州 (© Reinhard Schmid/eStock Photo)

    冬日里的科赫尔湖,德国巴伐利亚州 (© Reinhard Schmid/eStock Photo)

  • 俄勒冈海岸佩蓓角的雷神之井 (© Cavan Images/Offset by Shutterstock)(俄勒冈zip)

    俄勒冈海岸佩蓓角的雷神之井 (© Cavan Images/Offset by Shutterstock)(俄勒冈zip)

  • 本期收入和本期免税收入有什么区别
  • 技术类服务行业用不用开外经证
  • 个人如何开现金账户
  • 一般纳税人取得普票怎么做账
  • 普通发票,供货怎么开
  • 注册公司服务费是多少
  • 税收减免备案分录怎么写
  • 多交的应交税费怎么算
  • 固定资产处理怎么记账
  • 复利现值和复利终值的计算
  • 电子承兑汇票能转让给个人吗
  • 租别人厂房土地税房产税怎么交
  • 购买国债逆回购有股东限制
  • 价税合计啥意思
  • 注册资本印花税按实缴还是认缴
  • 生产要素和资源的区别和联系
  • 合同负债属于什么费用
  • 员工娱乐活动比赛项目
  • 公司打白条
  • 增值税进项留抵退税的账务处理
  • 鸿蒙系统怎样开启5G
  • php双冒号和箭头
  • incorrect email format
  • 代开专票缴纳的增值税怎么做账?
  • 年底帐务处理
  • element ui el-table
  • 分公司能不能独立法人
  • 斯诺多尼亚山
  • phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
  • transformers document
  • 发生广告费的会计分录
  • 分配股利账务处理
  • 固定资产减少的账务处理
  • vue treegrid
  • 使用php连接多种数据库
  • 增值税留抵税额可以结转下一年吗
  • php cache缓存
  • 一个简单安全的小故事
  • HTML+CSS+JavaScript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站
  • 不缴纳增值税
  • 从汽车生产到销售有哪些过程
  • 哪些行业不用缴纳增值税
  • 公司逾期交税,后期补上有何后果
  • PostgreSQL分区表(partitioning)应用实例详解
  • 其他权益工具投资公允价值变动怎么计算
  • 个人所得税专项扣除新标准一览表最新
  • 零申报年报需要哪些表格
  • 企业自查补税怎么报税
  • 哪些所得需要去税务登记
  • sql语句分组汇总
  • MySQL服务器系统支持哪些存储引擎
  • mysql 随机
  • 扣供应商的货款进项税要转出吗
  • 股东分红会计分录
  • 内账税金如何做分录
  • 营销策划服务费属于什么服务
  • 退货回去需要把原包装保留吗
  • 原始凭证错误的更正方法
  • 采购技术服务费计取
  • 款已付未收到发票
  • 固定资产报废会计
  • 什么是小规模纳税人2023
  • 金蝶银行存款日记账
  • 餐饮有普通发票吗
  • phpmyadmin配置文件
  • win8操作
  • 电脑win10键盘失灵
  • 为什么win8系统的键盘输入不了字
  • win10的命令行在哪里
  • jquery css hover
  • jquery库文件
  • shell if语句的用法
  • dos基本命令大全关机
  • 安卓 aac
  • java模拟浏览器点击
  • javascript 分号
  • opencv识别结果输出
  • 中行网银查询
  • 减免税办理
  • 无锡市社保局电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设