位置: IT常识 - 正文

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

发布时间:2024-01-17
【学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)

  • 企业所得税汇算清缴退税怎么做账
  • 销售商品的差价怎么算
  • 收到上月保险赔偿款分录
  • 法人拿走公司利润要交税吗
  • 运输费全额抵扣什么意思
  • 周转材料登三栏式明细账吗
  • 货已到发票未到跨年怎么做账
  • 房地产土地增值税的算法
  • 二手车增值税发票怎么开
  • 融资租入固定资产属于资产吗
  • 行政事业单位专用材料费列支范围
  • 建筑行业机械租赁费计入什么科目
  • 所得税季度预缴纳税申报表中弥补以前年度亏损
  • 将承兑汇票背书怎么操作
  • 企业所得税连续3年亏损预警自查报告
  • 小规模纳税人附加税减免政策2023
  • 2018年建筑增值税税率表
  • 内退人员工资标准
  • 未分配利润怎么处理
  • 库存虚增怎么调账
  • 过路费企业所得税汇算清缴计入什么科目?
  • 企业购入交易性金融资产支付的交易费用
  • 最新增值税税率表 2019年增值税减税政策
  • 办公室租金可以计入办公费吗
  • 学校食堂承包餐饮公司
  • 事业单位采购管理办法
  • 增值税税率调整差额怎么计算
  • 会计凭证传递的原则及基本程序
  • 免征的增值税需要纳税调整吗
  • 教育培训费能抵扣吗
  • 网速变慢了
  • 房地产企业开发成本
  • 企业办理银行结汇流程
  • 关于笔记本电脑的文案
  • vcpkgsrv.exe是什么进程
  • 利得的具体分类
  • 长期债权投资收回的利息 现金流量表
  • 土地价款会计分录
  • 生产型企业出口退税退的是哪部分的税
  • 企业会计准则应付利息计入什么科目?
  • 那慕尔省
  • css垂直导航栏
  • Web Spider Fiddler - JS Hook 基本使用
  • 公司想减少注册资本流程
  • nstat命令 监视内核的SNMP计数器和网络接口状态
  • 律师费开票税费谁承担
  • 应付账款转入营业外收入会计分录
  • 劳务费发票怎么入账
  • 基本户 变更
  • 商品发生报废如何处罚
  • 其他收入工会经费是什么意思
  • 计提环保税的会计分录
  • 有限合伙企业中谨慎有限合伙人的应当
  • 坏账准备贷方余额期末如何处理
  • 农产品免税收入需要缴纳所得税吗
  • 一家新成立的贸易企业
  • 业务招待费包含样品费吗
  • 主营业务收入和库存商品怎么区分
  • 年底未分配利润为负数怎么做分录
  • 动产不动产租赁增值税税率
  • ubuntu1
  • u盘ghost装机
  • sm56hlpr.exe - sm56hlpr是什么进程
  • window怎么样
  • win7移动硬盘写保护了怎么解除
  • windows where命令
  • win10预览版21277
  • win8.1怎么样
  • bootstrap模态框按钮无响应
  • perl中的$_
  • 实用的批处理
  • python 堆叠
  • nodejs 内存不断增长
  • 安卓广播的作用
  • 轻松搞定是什么短语
  • javascript 数组删除
  • 你不需要知道我是谁,祖国知道我
  • 土地使用税申报流程图
  • 西安医疗保险官网
  • 长沙买房后多久可以提取公积金
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号