js中如何使用vue-i18n国际化获取相应语言对应字符?
通过 vue-i18n 实现了多语言切换,在template里面已经实现了该功能,但是现在需要在 js 中 获取对应语言的字符,网上找了好久还是没找到,有人知道怎么弄么?
template 里面
{{ $t('message.exchangeCenter.exchangeDate') }}
js里面需要:需要把中文替换成多语言,求解
const exchangeTypes = [
{id: 1, text: '游戏币'},
{id: 2, text: '积分'}
];
js中写法:
const exchangeTypes = [
{id: 1, text: this.$t('xxx')},
{id: 2, text: this.$t('yyy')}
];
错误提示:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
文档都是摆设么
http://kazupon.github.io/vue-...
定义好你的字符以后,代码中用
const exchangeTypes = [
];
import Vue from 'vue'
import i18n from '@/i18n.js'
const validVue = Vue.extend({ i18n });
new validVue()就是this了
此时new validVue().$t('即可拿到')
换个思路,包起来处理,直接在main.js的new Vue 赋给一个变量,然后再从变量中获取就可以了
如 main.js中
window.vm= new Vue({
// 单独js 中
window.vm.$i18n.t('langkey')
谢谢,问题已经解决了,回来晚了,不好意思。主要问题是这个应该算扩展的 vue 对象,所以this指向的和我们写vue代码里面的this指向是一样的,所以多语言对象只能写到vue实例里面,而不能够直接在js中通过
$t
的方式来获取多语言字符。题主你好,我也遇到了同样的问题,但是看了你的回答还不是很明白,题主最后怎么解决的呢?谢谢分享^-^
怎么实现占位传值呢 就是文本某个位置字符需要动态改变 比如:
message: {
根据 issue(How can i use vue-i18n in '.js' file, I have use it in Vue template and it works. · Issue #149 · kazupon/vue-i18n · GitHub)中的描述,可用的方法有