vue3+vue-i18n 监听语言的切换
最近在用 vue3 做一个后台管理系统,之前是只考虑中文,现在加了个需求是多语言。
本来也不是太难的需求,但是我用的并不熟悉,并且除了页面展示不同的语言,需求是在切换语言的时候在几个页面中需要做出一些自定义的行为,所以需要监听语言的变化,所以记录一下。
如上所述,如果只是在页面中展示不同语言的文字,还是很简单的,只需要安装、配置 vue-i18n 之后,在页面中用 $t(‘变量名’)就行了(这里指的是 html 中,如果是 ts/js 中需要用 $t 还要配置一下,如果有需要可以参考这里:vue3中使用vue-i18n
但之前没有关注监听语言变化并做出反应,功能做通了之后发现其实其实挺简单的。
安装、配置 vue-i18n 可以参考 上篇文章 [vue3中使用vue-i18n ](https://blog.csdn.net/JaneLittle/article/details/127112273),假如在某个组件中要监听语言的变化:
1. 在 hooks 文件夹中建一个 locale.ts 文件,文件内容:
import { computed } from 'vue';
import { useI18n } from 'vue-i18n';
import { Message } from '@arco-design/web-vue';export default function useLocale() {const i18 = useI18n();const currentLocale = computed(() => {return i18.locale.value;});const changeLocale = (value: string) => {i18.locale.value = value;localStorage.setItem('arco-locale', value);Message.success(i18.t('navbar.action.locale'));};return {currentLocale,changeLocale,};
}
- 在要监听语言变化的页面
import { watch } from 'vue';
import useLocale from '@/hooks/locale'; // 引入const { currentLocale } = useLocale();
watch(currentLocale, (newValue, oldValue) => {console.log('组件名----语言变化');console.log(`newValue: ${newValue}`);console.log(`oldValue: ${oldValue}`);});
这么看确实是挺简单的,并且在 ts 中如果不用 $t 用 i18.t 也挺方便的。
如果在不同的页面监听语言的变化并且做出统一的行为(比如提示“已经切换到某语言”),可以调用 changeLocale 方法:
import useLocale from '@/hooks/locale';const { changeLocale } = useLocale();// html<el-select @change="changeLocale">... // 代码</el-select>
希望对您有所帮助,也希望路过的大佬不吝赐教!
相关文章:
vue3+vue-i18n 监听语言的切换
最近在用 vue3 做一个后台管理系统,之前是只考虑中文,现在加了个需求是多语言。 本来也不是太难的需求,但是我用的并不熟悉,并且除了页面展示不同的语言,需求是在切换语言的时候在几个页面中需要做出一些自定义的行为&…...
【考研复习】24王道数据结构课后习题代码|2.3线性表的链式表示
文章目录 总结01 递归删除结点02 删除结点03 反向输出04 删除最小值05 逆置06 链表递增排序07 删除区间值08 找公共结点09 增序输出链表10 拆分链表--尾插11 拆分链表--头插12 删除相同元素13 合并链表14 生成含有公共元素的链表C15 求并集16 判断子序列17 判断循环链表是否对称…...
娇滴滴的一朵花(Python实现)
目录 1 娇滴滴的她 2 Python代码实现 1 娇滴滴的她 娇滴滴。双眉敛破春山色。春山色。 为君含笑,为君愁蹙。多情别後无消息。 此时更有谁知得。谁知得。夜深无寐,度江横笛。 2 Python代码实现 import turtle from turtle import * turtle.title(春天送她一朵小花)…...
Android AccessibilityService研究
AccessibilityService流程分析 AccessibilityService开启方式AccessibilityService 开启原理 AccessibilityService开启方式 . 在Framework里直接添加对应用app 服务component。 loadSetting(stmt, Settings.Secure.ACCESSIBILITY_ENABLED,1); loadSetting(stmt, Settings.Se…...
华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的
目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2:小灰的算法进阶参与方式 很多小伙伴问我,华为OD机试算法题太多了,知识点繁杂,如…...
JMeter命令行执行+生成HTML报告
1、为什么用命令行模式 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死; 所以一般采用的方式是在GUI模式下调整测试脚本,再用命令行模式执行; 命令行方式支持在…...
学习Boost二:从附录3来看编码习惯
附录C 关键字浅谈 在C11标准中(C11.2.12)总共定义了73个关键字(keyword)、2个“准”关键字(identifiers with special meaning)和11个操作符替代字(alternative representation)[1]。…...
STM32基础入门学习笔记:核心板 电路原理与驱动编程
文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…...
最后一次模拟考试题解
哦我想这不用看都知道是为了水任务 T1 黑白染色 其实这题有原 什么手写体 md (指 markdown) 分析 首先这题如果你题目没看错的话 ,会发现其实他是 n m n \times m nm 让你求 n n n \times n nn 的区域内的点(不会只有我一个人题目看错了罢 然后我们会发现…...
Mac 创建和删除 Automator 工作流程,设置 Terminal 快捷键
1. 创建 Automator 流程 本文以创建一个快捷键启动 Terminal 的自动操作为示例。 点击打开 自动操作; 点击 新建文稿 点击 快速操作 选择 运行 AppleScript 填入以下内容 保存名为 “Open Terminal” 打开 设置 > 键盘,选择 键盘快捷键 以此选择 服…...
2023华为OD机试真题B卷 Java 实现【最长的元音串】
前言 本题使用Java解答,如果需要Python代码,链接 题目 给定一个只由英文字母(a-z, A-Z)组成的字符串,找出其中最长的只包含元音字母(a, e, i, o, u, A, E, I, O, U)的子串,并返回其长度。如果不存在元音子串,则返回0。 输入: 一个由英文字母组成的字符串,长度大…...
网络防御之传输安全
1.什么是数据认证,有什么作用,有哪些实现的技术手段? 数据认证是一种权威的电子文档 作用:它能保证数据的完整性、可靠性、真实性 技术手段有数字签名、加密算法、哈希函数等 2.什么是身份认证,有什么作用,有哪些…...
【css】组合器
组合器是解释选择器之间关系的某种机制。在简单选择器器之间,可以包含一个组合器,从而实现简单选择器难以达到的效果。 CSS 中有四种组合器: 后代选择器 (空格):匹配属于指定元素后代的所有元素,示例:div …...
HTTPS、TLS加密传输
HTTPS、TLS加密传输 HTTPS、TLS加密传输1、HTTPS(HyperText Transfer Protocol Secure)2、TLS HTTPS、TLS加密传输 1、HTTPS(HyperText Transfer Protocol Secure) HTTPS(HyperText Transfer Protocol Secure&#x…...
docker frp 搭建 http + stcp 代理
所需服务器 2台 一台具有国外公网ip 一台具有国内 ip 内网外网都可以 外公网ip服务器配置如下 cat docker-compose.yamlversion: "2" services:frps:image: alpine:latesthostname: frpsrestart: alwayscontainer_name: frpsprivileged: trueuser: rootcommand: […...
项目出bug,找不到bug,如何拉回之前的版本
1.用gitee如何拉取代码 本文为转载于「闪耀太阳a」的原创文章原文链接:https://blog.csdn.net/Gufang617/article/details/119929145 怎么从gitee上拉取代码 1.首先找到gitee上想要拉取得代码URL地址 点击复制这里的https地址 1 ps:(另外一种方法&…...
vue-cli
vue-cli脚手架 案例一: 案例二: 案例三: 一、脚手架简介 Vue脚手架是Vue官方提供的标准化开发工具(开发平台),它提供命令行和UI界面,方便创建vue工程、配置第三方依赖、编译vue工程 1. …...
android获取屏幕分辨率的正确方法;获取到分辨率(垂直方向像素)的不正确
我通过下面的方法去获取屏幕分辨率的,但获取到的分辨率有时会不准确。原因是此方法有时候会忽略一些布局或控件的高度,从而得不到正确的高度。 public static String getDeviceResolution(Context context){//从系统服务中获取窗口管理器WindowManager w…...
机器学习笔记之优化算法(八)简单认识Wolfe Condition的收敛性证明
机器学习笔记之优化算法——简单认识Wolfe Condition收敛性证明 引言回顾: Wolfe \text{Wolfe} Wolfe准则准备工作推导条件介绍推导结论介绍 关于 Wolfe \text{Wolfe} Wolfe准则收敛性证明的推导过程 引言 上一节介绍了非精确搜索方法—— Wolfe \text{Wolfe} Wolf…...
通过win+r安装jupyter报错
通过pip install jupyter安装jupyter报错处理办法 1、python 更新到最新版,最好多执行几次后在安装jupyter python.exe -m pip install --upgrade pip 2、通过镜像安装 pip install jupyter --force-reinstall pip -i http://pypi.douban.com/simple/ --trusted-h…...
贝锐洋葱头:代运营团队必备!验证码自动转发、轻松多账号登录
做过代运营和投流的团队都知道,每天最让人崩溃的,往往不是写不出爆款文案,也不是ROI不够高,而是“登录账号”。除了“全组排队等验证码”的漫长煎熬,多品牌同时运营还伴随着更致命的隐患,比如:密…...
你的PNG文件为什么总是太大?让SuperPNG插件帮你解决这个痛点
你的PNG文件为什么总是太大?让SuperPNG插件帮你解决这个痛点 【免费下载链接】SuperPNG SuperPNG plug-in for Photoshop 项目地址: https://gitcode.com/gh_mirrors/su/SuperPNG 如果你经常使用Photoshop处理PNG图片,可能已经发现了一个令人头疼…...
(二)进程的状态优先级
1进程的状态(兼容所有操作系统)1.1并行和并发CPU执行进程代码,不是把进程代码执行完毕,才开始执行下一个 而是给每一个进程预分配一个 时间片,基于时间片,进行调度轮转(单CPU下),并发。并发:多个进程在一个…...
免费电商平台批量下载图片方法,好用的让你不敢相信
pc+浏览器方法,批量快速下载淘宝、拼多多、抖音等常用电商均满足。 全程不花一分钱,所有资源都免费。 方法简单,操作方便。 只需在浏览其中增加 (downpictures) 当图扩展即可。 一、操作方法如下: 1、如使用edge浏览器,访问这个网址:当图 ,然后点击按钮“获取”,…...
AI文本检测技术解析:从原理到实践,构建内容真实性鉴别工具
1. 项目概述:AI写作检测工具的核心价值最近在GitHub上看到一个挺有意思的项目,叫“AI-Writing-Detection”。光看名字,你大概就能猜到它是干什么的——检测一段文本是不是AI写的。这玩意儿现在可太有用了。自从大语言模型(LLM&…...
Windows任务栏图标自由拖拽:DriftX开源工具原理与编译部署指南
1. 项目概述:一个被低估的桌面美化利器如果你和我一样,是个对Windows桌面整洁度有强迫症的程序员或者效率追求者,那你肯定对系统自带的图标排列方式感到过无奈。任务栏上堆满了图标,桌面文件散落各处,想找个应用还得在…...
告别虚拟机卡顿:在 Windows WSL2 的 Kali 子系统中配置 Pwn 调试环境
告别虚拟机卡顿:在 Windows WSL2 的 Kali 子系统中配置 Pwn 调试环境 对于安全研究人员和 CTF 爱好者来说,Kali Linux 是必不可少的工具集。然而,传统的虚拟机方案常常面临性能瓶颈——内存占用高、启动速度慢、与主机系统交互不便。WSL2 的出…...
167.YOLOv8口罩检测常见问题避坑(loss为NaN/显存溢出/ONNX导出失败实战版)
摘要 目标检测是计算机视觉领域的核心任务之一。YOLO(You Only Look Once)系列模型凭借其端到端、单阶段、高实时性的特性,已成为工业界和学术界最广泛使用的目标检测框架。本文从零开始,系统讲解YOLOv8的核心原理,并给出从数据准备、模型训练、推理验证到ONNX部署的完整…...
ToyKind-World:基于Python的ECS架构多智能体模拟框架构建指南
1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫“ToyKind-World”。光看这个名字,你可能会觉得有点抽象,是玩具世界?还是某种模拟器?点进去一看,发现它其实是一个用Python构建的、高度可配…...
AI人工智能未来发展趋势
当ChatGPT实现自然语言的深度交互,当AI机器人走进工厂车间,当智能算法助力疫苗研发提速,人工智能已从实验室的前沿探索,成为渗透社会各领域的核心生产力。当前,AI技术正处于从“弱智能”向“强智能”跨越的关键节点&am…...
