多语言 (Language)
小于 1 分钟
多语言 (Language)
多语言功能允许用户在不同的语言间进行快速切换。默认使用 LanguageWidget.ts
作为该功能的基类。
参数
router
: 非响应式变量,表示应用的路由对象。matched
: 非响应式变量,表示当前路由匹配的信息。languages
: 响应式变量,表示当前的语言列表。currentLanguage
: 响应式变量,表示当前选中的语言。
方法
onChange()
- 类型: 响应式方法
- 描述: 切换语言,表示当前选择的语言。
- 入参:
value
(Object): 用户选择的语言信息。
@Widget.Method()
protected onChange(value: RuntimeLanguage) {}
initLanguages()
- 类型: 非响应式方法
- 描述: 加载语言列表。
protected async initLanguages(): Promise<void> {}
initCurrentLanguage()
- 类型: 非响应式方法
- 描述: 初始化当前语言。
- 入参:
code
(String): 语言编码。
protected initCurrentLanguage(code: string) {}
reloadMaskProcess()
- 类型: 非响应式方法
- 描述: 重新加载语言信息。
protected reloadMaskProcess(reloadParameters: ReloadMaskCallChainingParameters) {}
$$mounted()
- 类型: 非响应式方法
- 描述: 组件挂载时执行,初始化多个值,包括:
router
(应用路由对象)matched
(当前路由匹配信息)
protected async $$mounted() {}
如何替换
import { LanguageWidget, SPI, MaskWidget } from "@kunlun/dependencies";
@SPI.ClassFactory(MaskWidget.Token({ widget: "language" }))
export class CustomLanguageSwitcher extends LanguageWidget {}