Uniapp语言切换动态修改Js文件

前言

续接上面两篇文章,第一篇文章是uniapp实现多语言切换,第二篇文章是i8n在js中的使用,由于我的菜单是在js文件中,所以我切换的时候除了菜单不实现效果,别的页面都可以实现,本篇文章主要是针对于怎么动态修改js文件,使之实现效果。

遇到的问题

下述代码是我做切换时的操作,可以看到i18n.locale = "zh_CN"是我从js中导入过来的,这里我也修改了语言,打印中也能看到,但是最主要的问题的是,js文件不是像vue文件那样动态刷新的,我在js文件中的多语言在第一次加载时就已经固定了,后续修改的话不会对js中的文件产生影响。
这里我想到刷新vue页面,但是没实现效果,我尝试使用//us = newus;来进行重赋值也没实现效果,百度搜了一下说是因为导出的us是只读属性,不可做修改。

if(this.dataFrom.titleId == 1){this._i18n.locale = "zh_CN"i18n.locale = "zh_CN"console.log('1',i18n.locale)let newus={data:[{title:i18n.tc('work.kongtuoruku'),icon:"/static/maike/PDAruku.png",description:i18n.tc('work.kongtuoruku'),useCount:1000,page:'PdaEmptyTraryImport'},{title:i18n.tc('work.kongtuochuku'),icon:"/static/maike/PDAchuku.png",description:i18n.tc('work.kongtuochuku'),useCount:1000,page:'PdaEmptyTraryExport'},{title:i18n.tc('work.konglongruku'),icon:"/static/maike/trayImport.png",description:i18n.tc('work.konglongruku'),useCount:1000,page:'StandardEmptyImport'},{title:i18n.tc('work.konglongchuku'),icon:"/static/maike/trayExport.png",description:i18n.tc('work.konglongchuku'),useCount:1000,page:'StandardEmptyExport'},{title:i18n.tc('work.chengpinruku'),icon:"/static/maike/PDAMaruku.png",description:i18n.tc('work.chengpinruku'),useCount:1000,page:'PdaMaterialImport'},{title:i18n.tc('work.zhijianhuikuzupan'),icon:"/static/maike/PDArukuBCP.png",description:i18n.tc('work.zhijianhuikuzupan'),useCount:1000,page:'PdaMaterialImportCopy'},{title:i18n.tc('work.zupanxiangqing'),icon:"/static/maike/detail.png",description:i18n.tc('work.zupanxiangqing'),useCount:1000,page:'UnitloadDetail'},{title:i18n.tc('work.chakankucun'),icon:"/static/maike/checkStock.png",description:i18n.tc('work.chakankucun'),useCount:1000,page:'QueryInventory'},{title:i18n.tc('work.tuopanpizhong'),icon:"/static/maike/uncoiling.png",description:i18n.tc('work.tuopanpizhong'),useCount:1000,page:'PalletTareMaintenance'},{title:i18n.tc('work.zhidinghuoweichuku'),icon:"/static/maike/PDAzhuanyun.png",description:i18n.tc('work.zhidinghuoweichuku'),useCount:1000,page:'SpecifyTheLocationOut'},{title:i18n.tc('work.banchengpinruku'),icon:"/static/maike/PDAMaruku.png",description:i18n.tc('work.banchengpinruku'),useCount:1000,page:'PdaImportSX'},{title:i18n.tc('work.sanjianruku'),icon:"/static/maike/PDAMaruku.png",description:i18n.tc('work.sanjianruku'),useCount:1000,page:'pdaPartsIn'}	]};console.log('11',newus)myJsLibrary.us = newus//us = newus;}

解决思路

然后我无意中看到一条导入语句,是全导出的import * as myJsLibrary from '@/common/util/work.js';,这里的话我是尝试使用了一下,然后通过用myJsLibrary 点出来这个属性用来重赋值,事实证明这个办法是可行的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十三章《搞懂算法:神经网络是怎么回事》笔记

目前神经网络技术受到追捧,一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善,使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升,如图形处理器(Graphics Processing Unit,GPU)在神…

【数据结构】拓扑序列求法

概念不多说了,有疑问的搜一下,这里直接放求法: 找到入度为0的节点输出并删除该节点,并删除与该点链接的边重复第一步 例子 输出a,删除a输出b,删除b输出c,删除c 最终结果为abcdef 注意 拓扑排…

实战Leetcode(四)

Practice makes perfect! 实战一: 这个题由于我们不知道两个链表的长度我们也不知道它是否有相交的节点,所以我们的方法是先求出两个链表的长度,长度长的先走相差的步数,使得两个链表处于同一起点,两个链…

ChatGPT的prompt技巧 心得

ChatGPT的prompt心得 写在最前面chatgpt咒语1(感觉最好用的竟然是这个,简单方便快捷,不需要多轮对话)chatgpt思维链2(复杂任务更适用,简单任务把他弄复杂了)机理chatgpt完整咒语1(感…

剑指 Offer 03. 数组中重复的数字

题目描述 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: …

杂记 | 使用FRP搭建内网穿透服务(新版toml配置文件,搭配反向代理食用)

文章目录 01 需求与回顾02 下载程序包03 编辑.toml文件3.1 编辑frps.toml3.2 编辑frpc.toml 04 启动服务4.1 启动服务端4.2 启动客户端 05 配置反向代理(可选)06 windows设置为默认启动(可选)6.1 创建启动脚本6.2 设置为开机自启 …

Liunx命令汇总

一.用户相关命令 1.1账号管理 创建用户: useradd (选项) 用户名用户口令: passwd (选项) 用户名修改用户: usermod 选项 用户名删除用户: userdel (选项) 用…

加班把数据库重构完毕

加班把数据库重构完毕 本文的数据库重构是基于 clickhouse 时序非关系型的数据库。该数据库适合存储股票数据,速度快,一般查询都是 ms 级别,不需要异步查询更新界面 ui。 达到目标效果:数据表随便删除,重新拉数据以及指…

C++ Qt 学习(文章链接汇总)

C Qt 学习(一):Qt 入门 C Qt 学习(二):常用控件使用与界面布局 C Qt 学习(三):无边框窗口设计 C Qt 学习(四):自定义控件与 qss 应用 …

elastic-job 完结篇

一 elastic-job 1.1 案例场景分析 1.设置4个分片,10秒执行一次。 分片弹性扩容缩容机制测试: 测试1:测试窗口1不关闭,再次运行main方法查看控制台日志,注意修改application.properties中的 server.port&#xf…

Vant 移动端UI 组件自动引入

Vue项目中安装Vant # Vue 3 项目,安装最新版 Vant npm i vant 组件按需引入配置 Vant按需引入- - -安装:unplugin-vue-components 插件 unplugin-vue-components 插件可以在Vue文件中自动引入组件(包括项目自身的组件和各种组件库中的组件&…

7.运算符

目录 一.算数运算符 1、算术运算符 2、比较运算符 1、等号()用来判断数字、字符串和表达式是否相等。 2、安全等于运算符(<>) 3、不等于运算符(<>或者!) 4、小于或等于运算符(<) 5、小于运算符(<) 6、IS NULL(IS NULL)&#xff0c;IS NOT NULL 运算…

2352 智能社区医院管理系统JSP【程序源码+文档+调试运行】

摘要 本文介绍了一个智能社区医院管理系统的设计和实现。该系统包括管理员、护工和医生三种用户&#xff0c;具有社区资料管理、药品管理、挂号管理和系统管理等功能。通过数据库设计和界面设计&#xff0c;实现了用户友好的操作体验和数据管理。经过测试和优化&#xff0c;系…

WorkPlus Meet:局域网内部使用的高效视频会议系统

随着全球化和远程办公的趋势&#xff0c;视频会议已成为现代企业和机构不可或缺的沟通工具。而现在&#xff0c;大多数政企单位或者涉密强的企业&#xff0c;都会使用局域网部署的音视频会议系统&#xff0c;提供更高的安全性和隐私保护。因为音视频会议中可能涉及到公司机密和…

程序员的护城河:职业发展的关键元素

目录 1. 技术深度与广度 2. 项目经验与实际操作 3. 沟通与团队协作 4. 持续学习与自我更新 5. 社区参与与开源贡献 6. 创新思维与解决问题的能力 7. 职业规划与自我管理 结语 在科技日新月异的今天&#xff0c;程序员的竞争已经不再仅仅依赖于技术水平&#xff0c;而是…

C++: 内存管理 (new / delete)

文章目录 一. C/C 内存分布二. C 语言中动态内存管理方式: malloc/calloc/realloc/free三. C内存管理方式1. new / delete 操作内置类型2. new / delete 操作自定义类型 四. operator new 与 operator delete 函数五. new 和 delete 的实现原理1. 内置类型2. 自定义类型 六. 定…

面向物流的计算机视觉和深度学习3

面向物流的计算机视觉和深度学习3 好处丰富数据质量战略资产定位改进的预测分析 应用预测和规划优化自动化仓库预测性维护后台和客户体验 挑战对历史数据的访问受限缺乏360视野缺乏人工智能技能的专业人员 总结参考 这是工业和大企业应用的计算机视觉和深度学习课程的第3课&…

【中间件篇-Redis缓存数据库02】Redis高级特性和应用(慢查询、Pipeline、事务、Lua)

Redis高级特性和应用(慢查询、Pipeline、事务、Lua) Redis的慢查询 许多存储系统&#xff08;例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间&#xff0c;当超过预设阀值,就将这条命令的相关…

互联网大厂招兵买马开发鸿蒙应用,移动开发的春天又来了?

日前&#xff0c;美团拟开发鸿蒙系统APP的多个相关岗位正招聘开发人员引发业内关注。事实上&#xff0c;鸿蒙开发者已经成为京东、WPS、凤凰新闻、微博等互联网大厂争相招聘的人才&#xff0c;且招聘岗位众多。也就是说&#xff0c;这些公司正在加快鸿蒙化开发&#xff0c;为鸿…

C语言KR圣经笔记 3.6 do-while循环 3.7 break和continue 3.8 goto和标号

3.6 do-while循环 如第1章所述&#xff0c;while 和 for 在循环顶部检查结束条件。与之相反&#xff0c;C语言的第三个循环&#xff0c;do-while 是每轮循环的主体走完之后&#xff0c;在底部检查结束条件&#xff1b;循环体至少会执行一次。 do 的语法为 do 语句 while (表达…