位置: IT常识 - 正文

vue通知提醒消息(vue 提示)

编辑:rootadmin
vue通知提醒消息

目录

前言

一、Notification

二、Notification引用

           1.全局引用

           2.单独引用

三、参数说明

四、简单案例 

五、项目实战

1、定义全局Notification。

2、Websocket实时接收通知。

3、消息通知


前言

推荐整理分享vue通知提醒消息(vue 提示),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue系统通知,vue推送消息,vue 消息通知,vue 提示,vue消息框,vue 消息通知,vue 消息通知,vue 消息通知,内容如对您有帮助,希望把文章链接给更多的朋友!

最近有个项目需求就是在客户端的右上角要实时展示提醒消息,下面来看下简单的实现步骤

一、Notification

这是基于悬浮出现在页面角落,显示全局的通知提醒消息。这个elmennt-ui组件可以实现我们上面的功能。

二、Notification引用1.全局引用vue通知提醒消息(vue 提示)

element 为 Vue.prototype 添加了全局方法 $notify。因此在 vue instance 中可以采用本页面中的方式调用 Notification。

2.单独引用

import { Notification } from 'element-ui';

此时调用方法为 Notification(options)。我们也为每个 type 定义了各自的方法,如 Notification.success(options)。并且可以调用 Notification.closeAll() 手动关闭所有实例。

三、参数说明

四、简单案例 

右上角就会弹出我们写的html代码段是不是特别简单

<template> <el-button plain @click="open"> 使用 HTML 片段 </el-button></template><script> export default { methods: { open() { this.$notify({ title: 'HTML 片段', dangerouslyUseHTMLString: true, message: '<strong>这是 <i>HTML</i> 片段</strong>' }); } } }</script>五、项目实战

这里大概说一下我的流程,我这里需要建立Websocket连接,服务器实时推送信息给客户端在右上角展示,这里需要用到Websocket以及本章学的通知。Websocket在前一章有讲。案例仅供参考。

1、定义全局Notification。/* 全局Notification */Vue.prototype.$baseNotify = (message, title, type, position) => {Notification({title: title,message: message,position: position || 'top-right',type: type || 'success',duration: messageDuration,})}2、Websocket实时接收通知。initWebSocket() { const token = getAccessToken() const wsurl = `${this.troubelUrl}?code=trouble&token=${token}` this.twebsock = new WebSocket(wsurl) this.twebsock.onmessage = this.websocketonmessage this.twebsock.onopen = this.websocketonopen this.twebsock.onerror = this.websocketonerror this.twebsock.onclose = this.websocketclose }, websocketonopen() { //webscoket定时心跳 this.troubleTimer = setInterval(() => { let pageUrl = window.location.hash if (pageUrl !== '' && pageUrl !== '#/login') { this.websocketsend('heartbeat') } }, 50000) console.log('数据发送...') }, websocketonerror(e) { //连接建立失败重连 setTimeout(() => { this.initWebSocket() }, 10000) console.log('故障连接出错~') }, websocketonmessage(evt) { var monitorData = evt.data monitorData = JSON.parse(monitorData) this.switchOther(this.troublePush, monitorData) }, //根据数据判断进行弹框(紧急呼叫,长时间关人) switchOther(switchValue, monitorData) { if (switchValue === true || switchValue === 'true') { this.handleOpen(monitorData) } }, websocketsend(data) { this.twebsock.send(data) }, websocketclose(e) { if (this.twebsock == null) { return } this.twebsock.close() this.twebsock = null clearInterval(this.troubleTimer) console.log('故障推送关闭~') },3、消息通知 //monitorItem取的前面Websocket返回回来的值 handleOpen(monitorItem) { this.openDialogflase = true const h = this.$createElement let notify = this.$notify({ title: monitorItem.troubleType, message: h('p', null, [ h( 'span', { style: { display: 'inline-block', margin: '0 0 10px 0', }, }, `${monitorItem.projectName}-${monitorItem.useCode}` ), h( 'p', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', margin: '0 0 5px 0', }, }, [ h('span', null, monitorItem.duration), h( 'span', { style: { color: '#efefef', }, }, monitorItem.fromType ), ] ), h('p', null, monitorItem.address), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.clickBtn.bind(this, monitorItem), }, }, '查看详情' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.handleShi.bind(this, monitorItem), }, }, '双向视频' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 0 0 0', display: 'inline-block', }, on: { click: this.handleQuXiao.bind(this, monitorItem), }, }, '取消' ), ]), duration: 0, showClose: false, }) //将通知实例放入 this.notifications[monitorItem.orderKey] = notify this.handleAudio() }, //关闭当前故障弹框 handleQuXiao(monitorItem) { this.openDialogflase = false this.notifications[monitorItem.orderKey].close() delete this.notifications[monitorItem.orderKey] }, //关闭所有弹窗 closeAll() { let vue = this for (let key in vue.notifications) { vue.notifications[key].close() delete vue.notifications[key] } },
本文链接地址:https://www.jiuchutong.com/zhishi/296046.html 转载请保留说明!

上一篇:JavaWeb简易复习手册(javaweb知识点汇总)

下一篇:GPT-4介绍&api申请(Chatgpt plus)(gpt3 api)

  • 三星什么时候可以更新安卓10(三星什么时候可以换卡)

    三星什么时候可以更新安卓10(三星什么时候可以换卡)

  • 无线充电是什么原理(无线充电是什么手机都可以吗)

    无线充电是什么原理(无线充电是什么手机都可以吗)

  • 怎么让小度换个声音(怎么让小度换个明星声音)

    怎么让小度换个声音(怎么让小度换个明星声音)

  • 微信对方把你删了发信息他看得到吗(微信对方把你删了为什么还能发信息)

    微信对方把你删了发信息他看得到吗(微信对方把你删了为什么还能发信息)

  • 苹果国行和其他版本有什么区别(苹果国行和其他版本哪个更好)

    苹果国行和其他版本有什么区别(苹果国行和其他版本哪个更好)

  • 拼多多618活动规则(拼多多618活动力度大不大)

    拼多多618活动规则(拼多多618活动力度大不大)

  • 淘宝优惠券可以送人吗(淘宝优惠券可以转让吗)

    淘宝优惠券可以送人吗(淘宝优惠券可以转让吗)

  • 荣耀v30pro耳机孔在哪里(荣耀v30pro耳机插孔)

    荣耀v30pro耳机孔在哪里(荣耀v30pro耳机插孔)

  • qq显示忙碌对方在干嘛(qq显示忙碌是在跟别人聊吗)

    qq显示忙碌对方在干嘛(qq显示忙碌是在跟别人聊吗)

  • 路由器和无线路由器有区别吗(路由器和无线路由器可以分开吗)

    路由器和无线路由器有区别吗(路由器和无线路由器可以分开吗)

  • wps怎么求和快捷键(wpsoffice求和快捷键)

    wps怎么求和快捷键(wpsoffice求和快捷键)

  • 老年机按键失灵了怎么办(老年机按键失灵是怎么回事)

    老年机按键失灵了怎么办(老年机按键失灵是怎么回事)

  • 苹果蓝牙耳机显示红色感叹号是什么意思(苹果蓝牙耳机显示的位置是最后使用链接的位置吗)

    苹果蓝牙耳机显示红色感叹号是什么意思(苹果蓝牙耳机显示的位置是最后使用链接的位置吗)

  • 怎么能集到抖音钻卡(抖音怎么样集)

    怎么能集到抖音钻卡(抖音怎么样集)

  • 三星s7edge添加门禁卡(三星s7edgenfc门禁怎么操作)

    三星s7edge添加门禁卡(三星s7edgenfc门禁怎么操作)

  • 微信上传的身份证照片在哪里可以看(微信上传的身份证过期了还能付款吗)

    微信上传的身份证照片在哪里可以看(微信上传的身份证过期了还能付款吗)

  • dvd rw驱动器是什么意思(dvd rw驱动器变成了cd驱动器)

    dvd rw驱动器是什么意思(dvd rw驱动器变成了cd驱动器)

  • 屏幕绿线怎么解决(屏幕绿线怎么解决vivo)

    屏幕绿线怎么解决(屏幕绿线怎么解决vivo)

  • 麒麟710相当于联发科多少(麒麟710相当高通的什么处理器)

    麒麟710相当于联发科多少(麒麟710相当高通的什么处理器)

  • 毒怎么删除鉴别记录(毒app怎么删除鉴定贴)

    毒怎么删除鉴别记录(毒app怎么删除鉴定贴)

  • 华为手机左上角出现hd是什么意思(华为手机左上角有个黑色圆圈)

    华为手机左上角出现hd是什么意思(华为手机左上角有个黑色圆圈)

  • 苹果手机视频怎么截图照片(苹果手机视频怎么剪切掉一部分)

    苹果手机视频怎么截图照片(苹果手机视频怎么剪切掉一部分)

  • 景深镜头分为哪两种(景深镜头是干什么用的)

    景深镜头分为哪两种(景深镜头是干什么用的)

  • 爱奇艺界面设置在哪里(爱奇艺的界面)

    爱奇艺界面设置在哪里(爱奇艺的界面)

  • 微信bundle id在哪里(微信id查不到怎么回事)

    微信bundle id在哪里(微信id查不到怎么回事)

  • 手机听不到对方说话怎么回事(手机听不到对方说话)

    手机听不到对方说话怎么回事(手机听不到对方说话)

  • iphone隔空接收的文件在哪(iphone隔空接收的照片在哪里)

    iphone隔空接收的文件在哪(iphone隔空接收的照片在哪里)

  • word批注如何做(word中做批注)

    word批注如何做(word中做批注)

  • Origin曲线拟合教程(origin2017曲线拟合)

    Origin曲线拟合教程(origin2017曲线拟合)

  • 瓦卡托比国家公园,印度尼西亚 (© Fabio Lamanna/Alamy)(卡比托丽娜·瓦西里耶娃)

    瓦卡托比国家公园,印度尼西亚 (© Fabio Lamanna/Alamy)(卡比托丽娜·瓦西里耶娃)

  • 进项税额转出会计分录月末如何结转
  • 个税由公司承担的账务处理
  • 土地使用税的纳税时间
  • 持有至到期投资核算内容
  • 幼儿园经营支出指什么
  • 普通发票税额没有打印全可以用么
  • 建筑工地加油计入什么科目
  • 赠送客户的产品计入销售费用的二级科目
  • 报销单第一页写不完
  • 小规模纳税人印花税是季报还是月报
  • 年偿债基金和年金现值
  • 服装企业销售方式
  • 定额中税金包含什么
  • 外资企业采购流程
  • 出口不报关账务处理
  • 流动负债中的短期借款
  • 去年税收滞纳金是个人缴的,用做账嘛
  • 空调安装企业能申请工程发票吗?
  • 企业间借款利息涉税处理
  • 苗木免税发票可以认证增值税吗
  • 增值税的计征方法有哪些
  • 小规模开专票可以享受1%吗
  • 对方给我们开发票
  • 股利分配是在当期损益吗
  • 电子发票报销有什么用
  • 财产租赁所得的税率是多少
  • 企业残疾人保障金的缴纳标准
  • 季报企业所得税营业收入本年累计怎么填写
  • win11正式版发布
  • 个税申报的人数比工资表少了怎么办
  • 电脑麦克风对方听不到声音怎么办
  • 购买商场储值卡能退么?
  • 经营租赁与融资租赁的含义
  • 瑞芯微 8nm
  • 损失函数是什么
  • 小规模场地租赁费税率是1还是5
  • 残差网络中的残差指的是什么
  • 报销的时候发票金额大于实际报销的金额
  • vant表单验证并提交表单
  • 如何减税降税
  • 备抵法账务处理方式
  • 企业哪些情况下需要报税
  • 免交增值税应该计入什么科目
  • macos mysql安装
  • mysql关闭连接命令
  • 软件服务费计入管理费用哪个明细
  • 小规模纳税人免税怎么做账
  • 企业暂估成本如何确定
  • 资本公积资本溢价怎么算
  • 权益净利率如何分析
  • 培训费开票属于劳务费吗
  • 收到固定资产怎么做账
  • mysql触发器的作用
  • windows installation disc
  • sql的all和any
  • ubuntu系统怎么用
  • windows xp系
  • windows xp安装win32程序
  • 服务win10
  • centos安装编译环境
  • redhat系统界面
  • pavkre.exe - pavkre是什么进程 作用是什么
  • win8系统找不到无线网络
  • grep正则表达式运用举例
  • 怎么快速更换苹果手机壁纸
  • cocos2dx webview
  • android实战项目
  • 腙基是什么
  • 黑客dos攻击是什么攻击
  • 求链表内节点的指针
  • for循环取数据
  • 浅谈 vue 中的 watcher
  • node解决跨域
  • 安卓大作业小游戏五子棋
  • 详解HTTPS 的原理和 NodeJS 的实现
  • 一些常用的网络命令
  • 如何在电子税务局签订三方协议
  • 地下车库是否缴房产税
  • 资源税的征税范围一般包括
  • 晋阳学堂实验学校学费多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设