前言,目前一个小项目使用的是Ant Design Vue,情况是 路由从接口获取并渲染到页面上,切换国际化语言时,Menu 和 内容 都中英文自动切换。

Ant Design Vue 结构

Ant Design Vue接口获取路由并渲染

切换国际化 内容 和 Menu的操作

内容改变:

<template><a-input v-model="name" :placeholder="$t('model.name')" allow-clear />
</template>
<script>
import i18n from '../../../../config/i18n'
export default {data() {return {}},created() {},computed: {columns() {return [{title: i18n.t('number'),dataIndex: 'number',scopedSlots: {customRender: 'number'}}]}}
}
</script>

Menu的操作

项目Menu是根据接口获取后渲染且渲染界面 BasicLayout.vue 版块中

我想到的解决办法是

  • 登录时路由接口返回的数据保存到缓存 localStorage 中
  • 切换国际化语言时,重新请求路由接口并且赋 修改语言的路由
  • 在BasicLayout.vue 监听路由缓存的变化,对路由重新赋值,达到切换menu数据的目的

监听缓存

  • localStorage.js

    export default function tools () {const signSetItem = localStorage.setItem;localStorage.setItem = function (key, val) {const setEvent = new Event('setItemEvent');setEvent.key = key;setEvent.value = val;window.dispatchEvent(setEvent);signSetItem.apply(this, arguments);};}
  • vue 引入 - main.js
    import storage from './utils/localstorage'Vue.use(storage)
  • 在BasicLayout.vue放入监听
    var that = this;
    window.addEventListener('setItemEvent', function (e) {//监听if(e.key == 'routers'){//缓存的key//改变menu的值that.menus = e.value.find(item => item.path === '/').childrenthat.collapsed = !that.sidebarOpened;}
    })

Ant Design Vue 切换中英文改变Menu和内容相关推荐

  1. Ant design Vue 如何在a-table表格标题/内容上添加一个按钮

    项目需求,官网这方面也不讲清楚 需求如下 方法: fields:[ {// title: 啦啦自定义,dataIndex: 'name',scopedSlots: { title: 'Title' } ...

  2. Ant Design Vue中tabs标签页切换导致页面变宽的问题

    问题 在使用Ant Design Vue进行开发的时候,使用了tabs标签页,在页里面套用了表格,但是在页面切换后,会发现页面的width会变大差不多2倍,这样会导致页面一些结构的样式发生变化. 解决 ...

  3. Ant design vue动态主题切换的坑与一般性方法

    本文原创,并且以吐槽为主,下面开始: Ant design vue是很优秀的框架,不过对于一般小白用户(比如我),文档方面不够友好.官方给出了主题自定义色彩的方案,但是太过于简陋,网上很多技术解决方案 ...

  4. ant design vue table 高度自适应_Vue组件库大评测 Element, iView, HeyUI, Ant Design Vue

    今天偶然的机会想了解下其他Vue相关的组件库,网上刚好有文章,顺便自己做一下笔记,算是资源整理吧 .好了,话不多说,直接开始: 组件库的选择对于前端开发有者至关重要的影响,而组件的丰富性以及健壮性是我 ...

  5. 2019年 Vue 组件库大评测 Element, iView, HeyUI, Ant Design Vue

    2018年我写的Vue组件库对比文档: https://juejin.im/post/5a9628415188257a7b5ac678 一年的时间,每一个组件库都有了更多的发展,Ant Design ...

  6. 2019 Electron+Vue+Ant Design Vue仿网易云音乐windows客户端实战分享

    特点 拖拽播放 桌面歌词 mini模式 自定义托盘右键菜单 任务栏缩略图,歌曲操作 音频可视化 自动/手动检查更新 Nedb数据库持久化 自定义安装路径,安装界面美化 浏览器中启动客户端 Travis ...

  7. 【Ant Design Vue】之Grid栅格和Space间距

    文章目录 Grid 栅格 Space 间距 Grid 栅格 Ant Design Vue 将整个设计建议区域按照 24 等分的原则进行划分,划分之后的信息区块我们称之为『盒子』.建议横向排列的盒子数量 ...

  8. ant design vue pro 支持多页签模式 页签可以缓存

    ant design vue pro 支持多页签模式 页签可以缓存 代码贴在最后 启动之后页面是这样的: 第一步:修改 src/layouts/BasicLayout.vue 文件,在该文件中添加mu ...

  9. ant design Vue 纯前端实现分页

    ant design Vue 纯前端实现分页功能 (有选择的话最好让后端分页,前端分页可能会有问题,为了性能,尽量不要前端分页) 自己想的一个简单方法: 通过页码改变事件,每页数据个数改变事件,获取改 ...

最新文章

  1. eclipse保存自动组织导入、删除不必要的导入、格式化代码
  2. Mybatis工作流程及其原理与解析
  3. ie8不兼容java项目_[Java教程]ie8以下不兼容document.getElementsByName解决方法
  4. C语言与sqlserver数据库
  5. Uncaught TypeError: Cannot read property 'value'' of null
  6. spark.mllib:bagging方法
  7. PostgreSQL 获评2017 DB-Engines年度DBMS榜首
  8. 单片机两个IO口控制三个LED灯
  9. [访问系统] C#计算机信息类ComputerInfo (转载)
  10. 支付宝解释 2019 年账单总额较高;腾讯 QQ 回应新功能可显示对方实时电量;Python 2.7 结束支持 | 极客头条...
  11. 第十二章_网络搭建及训练
  12. linux —— ubuntu 初次安装问题
  13. 电路分析 基础 电容、电感元件的串联与并联
  14. word文本框文字垂直居中_如何在Microsoft Word中的页面上垂直居中放置文本
  15. matlab 对sym变量赋值,matlab中syms和int函数都是表示啥意思呀?_-syms-韦俟
  16. JDK自带的Timer定时器实现每天24点修改数据
  17. 【我的故事】一个还不成熟的女程序员的苦恼
  18. maps-api-v3_链接Google Maps和Flickr API
  19. 杭电OJ1070详解 易懂!纯C写法
  20. 使用IMS搭建商务授权管理系统

热门文章

  1. 爱情名言名句爱情哲理名言爱情格言语录
  2. 某教育平台线上课程用户行为数据分析报告
  3. 创基Type-C拓展坞兼容Type-C多种品牌笔记本
  4. 设计模式(结构型)之代理模式(Proxy Pattern)
  5. 2022-2027年中国工业气体市场规模现状及投资规划建议报告
  6. 【瑞模网】与UE5 像素流送
  7. 追踪IP地址你需要这几款工具加持
  8. Notepad++ Emmet执行时提示R6034 Runtime Error, 错误的解决方法
  9. j计算机应用研究,中科院成都计算机应用研究所导师介绍:陈光喜
  10. TMS570-2-GIO中断学习