位置: IT常识 - 正文

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

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

  • 笔记本电脑电池使用方法(笔记本电脑电池使用)(笔记本电脑电池充不进去电怎么办)

    笔记本电脑电池使用方法(笔记本电脑电池使用)(笔记本电脑电池充不进去电怎么办)

  • 华为耳机怎么恢复出厂设置(华为耳机怎么恢复出厂模式)

    华为耳机怎么恢复出厂设置(华为耳机怎么恢复出厂模式)

  • nova7是否有nfc功能呢(华为nova7有木有nfc)

    nova7是否有nfc功能呢(华为nova7有木有nfc)

  • 淘宝店铺装修分为哪几个模块(淘宝店铺装修分隔线怎么取消掉)

    淘宝店铺装修分为哪几个模块(淘宝店铺装修分隔线怎么取消掉)

  • vb中inputbox啥意思

    vb中inputbox啥意思

  • 腾讯购买单片能看多久(腾讯视频单片购买方法)

    腾讯购买单片能看多久(腾讯视频单片购买方法)

  • 抖音手滑关注后取消怎么办(抖音手滑关注了别人,立马取消,他知道是我吗)

    抖音手滑关注后取消怎么办(抖音手滑关注了别人,立马取消,他知道是我吗)

  • 华为手机应用锁密码忘了怎么解除(华为手机应用锁怎么设置每次进入都要密码)

    华为手机应用锁密码忘了怎么解除(华为手机应用锁怎么设置每次进入都要密码)

  • 群被投诉了会封号吗(群被投诉了会封群吗)

    群被投诉了会封号吗(群被投诉了会封群吗)

  • ipad没有低电量模式吗(ipad没有低电量弹窗)

    ipad没有低电量模式吗(ipad没有低电量弹窗)

  • 为什么华为p40pro耗电快(为什么华为P40pro那么贵)

    为什么华为p40pro耗电快(为什么华为P40pro那么贵)

  • 抖音私信功能封禁要多久恢复(抖音私信功能封禁是被人举报了吗)

    抖音私信功能封禁要多久恢复(抖音私信功能封禁是被人举报了吗)

  • 一个绿钻可以登几个手机(一个绿钻可以登几个号)

    一个绿钻可以登几个手机(一个绿钻可以登几个号)

  • 苹果11pro max没有手写功能吗?(苹果11promax没有128g内存吗)

    苹果11pro max没有手写功能吗?(苹果11promax没有128g内存吗)

  • 百兆路由器支持200兆宽带吗(百兆路由器支持多少兆)

    百兆路由器支持200兆宽带吗(百兆路由器支持多少兆)

  • 显卡a卡和n卡是什么意思(显卡到底是a卡n卡哪个好)

    显卡a卡和n卡是什么意思(显卡到底是a卡n卡哪个好)

  • 怎么在ppt中用红笔(ppt中怎样用红笔画圈)

    怎么在ppt中用红笔(ppt中怎样用红笔画圈)

  • 怎么把图片弄成嵌入式(怎么把图片弄成一个文件)

    怎么把图片弄成嵌入式(怎么把图片弄成一个文件)

  • 计算机存储概念是谁提出的(计算机存储工作原理)

    计算机存储概念是谁提出的(计算机存储工作原理)

  • 乐视1s支持电信卡吗(乐视1pro支持电信卡吗)

    乐视1s支持电信卡吗(乐视1pro支持电信卡吗)

  • 怎么把音乐分享到陌陌(怎么把音乐分享到状态)

    怎么把音乐分享到陌陌(怎么把音乐分享到状态)

  • 迅雷开头链接格式(迅雷开头链接格式是什么)

    迅雷开头链接格式(迅雷开头链接格式是什么)

  • 误删好友火花多久恢复(误删好友后火花没了怎么办?)

    误删好友火花多久恢复(误删好友后火花没了怎么办?)

  • 苹果x掉水里有事吗(苹果x掉水里拿出来没事)

    苹果x掉水里有事吗(苹果x掉水里拿出来没事)

  • qq什么时候显示正在输入(QQ什么时候显示iPhone在线)

    qq什么时候显示正在输入(QQ什么时候显示iPhone在线)

  • 没有权限使用网络资源(没有权限使用网络资源,请与这台服务器的管理员联系)

    没有权限使用网络资源(没有权限使用网络资源,请与这台服务器的管理员联系)

  • 【Hadoop/Java】基于HDFS的Java Web网络云盘(hadoop java)

    【Hadoop/Java】基于HDFS的Java Web网络云盘(hadoop java)

  • phpcms hash数据验证失败怎么解决(php hash_hmac)

    phpcms hash数据验证失败怎么解决(php hash_hmac)

  • 消费税的计税价格是什么
  • 资产现金流量收益率计算例题
  • 契税计入税金及附加吗
  • 小规模税收优惠政策1%到什么时候
  • 财务合理化建议例子
  • 进项税加计扣除什么时候开始的
  • 非同一控制下企业合并对价小于可辨认
  • 一般纳税人注销需要多少钱
  • 预提佣金会计分录是什么
  • 合伙企业个人所得税怎么申报
  • 合并报表长期股权投资怎么算
  • 固定资产原价的结余额
  • 收到国外提供免费样品怎么入账?
  • 建筑企业包工包料的税率
  • 钉钉报销费用明细怎么写
  • 做内账有风险还是做外账有风险
  • 建筑施工企业开立临时账户
  • 非营利组织取得稳岗补贴收入要交税吗
  • 收到不开票的返利如何记账?
  • 建筑业月末账务处理
  • 应收账款账龄怎么查
  • 利润表没有其他业务利润
  • 买车预付款怎么记账
  • 从贸易公司购买来的货物可以退税吗
  • 新成立的有限公司
  • 未开票收入跨年度如何申报冲回
  • 把输入法关闭
  • 私车公用的费用可以抵税吗现在
  • uniapp生成h5
  • 小程序怎么自定义tabbar
  • php throw
  • 送货上门需要其他费用吗
  • vue $route
  • bounded linear functional
  • 用python编写素数
  • cuppath
  • php array_multisort 对数组进行排序详解及实例代码
  • 服装、眼镜、鞋、西药的发票怎么样做账比较好
  • 出纳对现金的收付应该怎么做
  • python列表的创建和操作
  • 什么科目需要结转到本年利润
  • 规模以上企业纳税要求
  • 中药饮片增值税率是多少
  • 营改增后建筑企业如何正确开具发票
  • 企业固定资产贷款二押的风险
  • 个人所得税如何纳税
  • 企业取得投资收益要交税吗
  • 物业公司广告费收入税率
  • 其他应收款科目代码
  • 零余额账户用款额度是什么意思
  • 记账凭证结算方式没出来
  • 小规模纳税人减按1%账务处理
  • 返还利润含税吗
  • 新款小汽车
  • 生活垃圾处理费标准
  • 提取坏账会计分录怎么写
  • 什么情况下增值税发票不能抵扣
  • 会计报表的作用概括起来就是为报表使用者提供会计信息
  • 安全生产费计提和使用
  • 固定资产怎么记入账本明细科目
  • sql server本地服务器地址如何查看
  • windows installation disc
  • win7users移动其它盘
  • win8.1关机
  • Win10 Mobile 10549预览版怎么升级?
  • unix操作系统有何特点?
  • centos 7 安装
  • win7系统运行红警黑屏有声音
  • win7系统安装谷歌浏览器
  • shell脚本中调用外部c程序
  • shell脚本 ftp
  • python3 xlrd
  • ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明
  • flask pycharm
  • 佛山顺德怎么坐地铁到广州
  • 辽宁取暖补贴发放标准2020
  • 补充协议需要双方签字盖章吗
  • 供热用地规划指标
  • 税控盘操作指南
  • 国税工作人员工资标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号