【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单

这篇具有很好参考价值的文章主要介绍了【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

登入的角色本身属于领导级别(集团权限),没有下级的不同权限:
【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单,vue.js,javascript,ecmascript
切换不同身份(公司),以获得相应部门的不同导航菜单及权限
【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单,vue.js,javascript,ecmascript
这里实现:更改角色权限后,实现页面 不刷新 更改其展示出来的 导航菜单

1、在右上角页面代码内,通过后端接口获取子角色(公司)的对应菜单路由(图2中data)
2、将路由数据和自身代码写入方式一样,写入store存储路由数据(参考自己代码首次获取路由后存储数据的方法)
3、通过事件总线$eventBus监听页面路由替换导航
4、清空、重新添加路由$router.addRoutes

【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单,vue.js,javascript,ecmascript
导航组件里监听并操作:
【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单,vue.js,javascript,ecmascript
代码片:文章来源地址https://www.toymoban.com/news/detail-671888.html

async toMenuChange(id) {
	//...省略前面非必要 此处调用自己的接口
	await getMenuListChange().then((mresult) => {
        // console.log('得到新路由列表:' , mresult);
        // 对数据进行改造:
        const sdata = JSON.parse(JSON.stringify(mresult.data)); 
        const rdata = JSON.parse(JSON.stringify(mresult.data));
        const sidebarRoutes = this.filterAsyncRouter(sdata);
        const rewriteRoutes = this.filterAsyncRouter(rdata, false, true);
        rewriteRoutes.push({ path: "*", redirect: "/404", hidden: true });
        store.commit("SET_ROUTES", rewriteRoutes);
        store.commit(
          "SET_SIDEBAR_ROUTERS",
          constantRoutes.concat(sidebarRoutes)
        );
        store.commit("SET_DEFAULT_ROUTES", sidebarRoutes);
        store.commit("SET_TOPBAR_ROUTES", sidebarRoutes);
        // 在事件总线中发布事件 this.$bus.$emit('xxx','传递参数')
        this.$eventBus.$emit("changeTopBar");
        // 重置导航
        resetRouter();
        this.$router.addRoutes(sidebarRoutes);
      });
}
this.$eventBus.$on("changeTopBar", () => {
	// ...
});

this.$eventBus.$off(["changeTopBar"]);

到了这里,关于【vue】更改角色权限后,实现页面不刷新更改其可展示的导航菜单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue】实现当前页面刷新的四种方法

    这两周在写一个后台管理,每次调用接口实现增删改查的过程中,都需要刷新当前页面或者刷新数据。如果手动点击浏览器的小圈圈不仅麻烦、用户体验感极差,而且不会真的有人让用户手动刷新叭。。。这个问题可以称得上是前端的bug了。那么,顺着这个问题,一通搜寻下

    2023年04月26日
    浏览(54)
  • VUE路由跳转并刷新页面(框架层实现)

    前言         网上找了很多办法,都需要开发者在页面内单独实现,或者是刷新整个浏览器,感觉并不是特别舒服。因此,我考虑可以在框架层去实现路由跳转刷新。         思路如下:                 1、重定向至临时界面(用户无感知)                 2、打开临时

    2024年02月11日
    浏览(58)
  • Vue:实现输入框/选择列表内容更改,页面实时预览多个内容变化

    在各种前端页面中,比如用户信息注册的页面,往往有多个输入框和多个选项列表。 为了避免用户选错或者输入错误,可以在前端页面上实时将多个输入框的内容拼接起来,显示到页面或者弹出的窗口中,帮助用户核对、检查输入的内容是否有错,提高用户体验。 本文介绍

    2024年02月10日
    浏览(45)
  • Vue实现角色权限动态路由详细教程,在vue-admin-template基础上修改,附免费完整项目代码

    vue-admin-template是一个最基础的后台管理模板,只包含了一个后台需要最基础的东西,如果 clone 的是它的 master分支 ,是没有权限管理的,只有完整版 vue-element-admin 有这个功能,但是为了小小的一个权限管理而用比较复杂的有点得不偿失。 我在网上找了一堆教程和资料,发现

    2023年04月13日
    浏览(40)
  • vue跳转页面后返回不刷新且记录历史滚动条停留位置 (实现了根据不同页面来设置是否刷新记录的功能)

            1.在路由(router/index.js)中,对不刷新的页面设置:         2.在app.vue中设置: 这时返回就不会触发created和mounted         1.在data中定义         2.挂载: 以上就实现了返回页面后滚动条记忆的功能啦! 如果想实现分情况决定是否记忆滚动条以及刷新组件数据

    2024年02月08日
    浏览(49)
  • vue实现弹出框内嵌页面展示,添加tab切换展示实时加载

    最近做业务的时候,发现产品的原型图上有一个弹出框,上面包含了两个窗口要进行切换。 每个窗口都有分页列表展示、搜索、添加和删除,感觉就是两个完整的页面,如果全写在一个页面会很麻烦,还可能会出现一系列的问题,后期改起来比较麻烦,所以我就准备分开来写

    2024年02月16日
    浏览(41)
  • react--umi, 根据权限展示菜单,完成页面权限分配,以及路由鉴权

           umi框架,prolayout布局,access设置菜单权限,initialState全局初始化数据,配合使用,根据后端返回的权限信息,完成菜单的不同的权限的不同展示。     1. umi 配合 patlayout 布局, 实现根据配置的路由展示菜单栏     2. umi 的 access 插件,设置不同权限的菜单展示    

    2024年02月06日
    浏览(90)
  • 【VUE学习】权限管理系统前端vue实现3-登陆页面

             path: \\\'/login\\\' :指定了路由的路径为 \\\"/login\\\",表示该路由匹配到的 URL 是 \\\"/login\\\"。 name: \\\'login\\\' :指定了路由的名称为 \\\"login\\\",可以在代码中通过名称来进行路由导航。 component: () = import(\\\'../views/Login.vue\\\') :指定了该路由对应的组件为一个异步加载的组件。 使用箭头函

    2024年02月13日
    浏览(44)
  • 前端Vue:权限管理,给角色分配权限

    👉前端-Vue权限控制,菜单权限,按钮权限_一人创客的博客-CSDN博客 目录 介绍: 前端权限的概念: 前端权限的意义: Vue权限管理的代码实现: 菜单 刷新界⾯菜单消失 标识⽤户名, ⽅便查看当前⽤户 退出登陆:  界面: 1.判断当前是否登陆 2.控制是否可以访问角色界面 (

    2024年02月11日
    浏览(37)
  • 「Vue|网页开发|前端开发」02 从单页面到多页面网站:使用路由实现网站多个页面的展示和跳转

    本文主要介绍如何使用路由控制来实现将一个单页面网站扩展成多页面网站,包括页面扩展的逻辑,vue的官方路由vue-router的基本用法以及扩展用法 「Vue|网页开发|前端开发」01 快速入门:快速写一个Vue的HelloWorld项目 我们在进行网站开发的时候,大多数都是需要有多个页面

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包