vue.js - 在 Vuex 商店中使用 i18n-nuxt $t
问题描述
我的问题有点具体。我在这个项目中使用 Vuex 和 Nuxt。对于依赖项,我们使用 i18n-nuxt 但不知何故我不能在 $store 中使用 $t('some.translation') 而在组件中它工作得很好。我尝试了我能想象到的所有可能的组合,但结果仍然导致我出现同样的错误。
ReferenceError $t is not defined
或者Cannot read the property of i18n
所以在这种情况下,我可以使用一些帮助来解决这个问题,或者如果有人向我展示如何使用 i18n 作为过滤器,那将是完美的。(我认为这是唯一的方法。)
例如,此代码块来自 $store.state
sortMethods: [
{ id: 'airline', name: this.i18n.$t('Airline'), asc: 'A', desc: 'Z', defaultDirection: 'asc' },
您可以想象我无法将它们翻译到它们所在的位置。
解决方案
可以t
使用this.$i18n.t
. 前任。:
export const mutations = {
foo() {
console.log(this.$i18n.t("bar"));
}
}
但是我还没有找到在 state 或 getter 中使用它的方法,因为他们无权访问this
.
推荐阅读
- php - 如果客户从未购买过,请将产品添加到购物车 - 代码不起作用
- postgresql - 在图中查找连接边
- mongodb - IBM Cloud 上的一个 ASP.Net 应用程序 - 一个或多个 MongoDB?
- javascript - 如何修复函数图不显示导数
- flutter - 从子级更新父级 Swiper 的索引
- mysql - express+mysql无法登录,注册成功
- r - 如何为包含列表中数值的任何行子集数据框?
- python - 为什么在类上设置描述符会覆盖描述符?
- java - 使用 Swagger 将创建的日期时间添加到 REST API
- bootstrap-4 - 如何在不更改列宽的情况下将输入字段放在表头上?