Vue3+ElementPlus+TS实现右上角消息数量实时更新

Vue3+ElementPlus+TS实现右上角消息数量实时更新

背景

在这里插入图片描述
项目需求,前端右上角铃铛图标 显示接收到的消息通知,并且显示消息数量以及实时更新。(一般是点击操作按钮后增加一条消息通知,图标上的数字也随之更新)
【原来的想法是使用location.reload();刷新页面,可以刷新消息数量,但是体验不好】

步骤一

index.ts

import { createStore } from "vuex";
const store = createStore({
  state() {
    return {
      msgCount: 0
    };
  },
  mutations: {
    SET_msgCount(state,msgCount) {
      state.msgCount = msgCount;
    }
  },
  actions: {
    /*getMessage()是调用后端获取消息的方法
    *function getMessage() {
  	*    return axios.get("/user/getMessage")
	*}
    */  
    getMessage({ commit }) {
      return new Promise((resolve, reject) => {
        getMessage().then((res) => {
          commit("SET_msgCount", res.length);
          resolve(res);
        }).catch((err) => reject(err));
      });
    }
});

export default store;

步骤二

header.vue 前端页面 铃铛组件显示消息数量代码

<el-tooltip effect="dark" content="今日待办" placement="bottom">
        <el-badge :value="showMsgCount" :max="99" class="item">
          <el-popover placement="bottom" :width="400" trigger="click">
            <template #reference>
              <el-icon color="#777575" class="no-inherit" :size="20" style="vertical-align: middle">
                <Bell />
              </el-icon>
            </template>
          </el-popover>
        </el-badge>
      </el-tooltip>
import { computed } from "vue";
import { useStore } from "vuex";
const store = useStore();
//使用computed可以是变量数值实时更新
const showMsgCount = computed(() => {
  return store.state.msgCount;
})

步骤三

在点击产生消息按钮,返回成功后调用下面的脚本,就可实时同步更新消息数量,从而不刷新页面而更新消息数量。

store.dispatch("getMessage");

至此。结束

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue3 是一种现代化的 JavaScript 框架,它提供了响应式的数据绑定和组件化的开发模式。ElementPlus 是一个基于 Vue3 的 UI 组件库,它提供了一系列美观易用的组件,帮助开发者快速构建漂亮的后台管理系统。Vite 是一个新一代的前端构建工具,它利用了 ES 模块化的特性,实现了快速的冷启动和热模块替换,在开发过程中具有很高的效率。TSTypeScript 的简称,它是一种多功能的 JavaScript 的超集,提供了静态类型检查和面向对象编程的特性。 通过结合这些技术,我们可以开发出一个高效、可维护和可扩展的后台管理系统。在使用 Vue3 开发时,我们可以充分利用其提供的 Composition API,编写可复用的逻辑代码,并利用响应式的数据绑定实现页面的数据驱动。ElementPlus 提供了丰富的组件库,可以用于构建菜单、表格、表单、图表等常见的后台管理系统所需的功能。Vite 的快速启动和热模块替换功能,可以大大提升开发效率,使开发者能够更快地看到修改后的效果。而在使用 TypeScript 进行开发时,静态类型检查可以帮助我们在编码过程中发现潜在的问题,并提供更好的代码提示,提高开发效率和代码可读性。 综上所述,Vue3、ElementPlus、Vite和TS 的组合,给后台管理系统的开发带来了很多便利和优势,它们的使用可以提高开发效率,减少开发错误,并且使得系统更加稳定和易于维护。对于开发者来说,掌握这些技术将对提升自身的开发能力和竞争力非常有益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值