使用i18n,我正在翻译一个带有类型记录的Vue3项目。我只需要改变地区按钮为我工作,但我不知道如何做,它一直给问题标题错误。有人知道怎么解决吗?下面是我的代码:
<template>
<div>
<span @click="changeLocale('pt-br')" class="flag-icon flag-icon-br m-2"></span>
<span @click="changeLocale('en-uw')" class="flag-icon flag-icon-us m-2"></span>
<span @click="changeLocale('es-es')" class="flag-icon flag-icon-es m-2"></span>
</div>
</template>
<script setup lang = "ts">
export default {
methods: {
changeLocale(locale){
this.$root.$i18n.locale = locale;
}
}
}
</script>
<style scoped>
.m-2{
margin: 2px;
}
</style>发布于 2022-04-08 10:35:23
由于没有提到此错误的行,所以假设错误来自函数的类型检查。您的TSConfig设置为不允许隐式任何,但尚未声明区域设置的类型参数。
这应改为:
changeLocale(locale: string){
this.$root.$i18n.locale = locale;
}还值得一提的是,您已经声明了纯安装组合API,因此不需要执行导出默认值{.}。
这可以写成:
<script setup lang="ts">
const changeLocale = (locale: string) => {
this.$root.$i18n.locale = locale;
}
</script>https://stackoverflow.com/questions/71729595
复制相似问题