Vue.js中如何使用vue-i18n国际化获取相应语言对应字符?

扎男
  • 2
新手上路,请多包涵

问题:Vue项目需要国际化,安装了Vue-i18n插件,在HTML和UI里都可以成功使用,但是在<script></script>标签内的字符无法获取到,有什么方法吗?

<h3 class="title">{{ $t('message.yali') }}</h3>

<el-input type="text" v-model="ruleForm2.account" auto-complete="off" :placeholder="$t('message.PleaseUsername')"></el-input>


HTML和Vue ui里的都能使用模版成功获取使用,但是这两个模版在script标签内就无法使用,求方法

<script>
    data(){
        return{
            ....
            message: '$t('message.Password')'
            ....
        }
    }
</script>

×
各位大神有什么解决方法嘛


回复
阅读 3.8k
3 个回答
jiax
  • 3
新手上路,请多包涵

js中应该加上指针this,即this.$t('message.Password')。

这不是script标签的问题,而是你放在data里的东西,在data生成的时候i18n都还没有加载,所以无法对这个字段进行国际化,正确的做法是把message对应的东西放到html里去

把message显示出来的时候,在html里面在进行国际化的操作,在最终输出进行国际化操作,不用在初始化变量,改变过程中进行国际化

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏