Vue.js中如何使用vue-i18n国际化获取相应语言对应字符?
问题: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>
×
各位大神有什么解决方法嘛
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
js中应该加上指针this,即this.$t('message.Password')。
这不是script标签的问题,而是你放在data里的东西,在data生成的时候i18n都还没有加载,所以无法对这个字段进行国际化,正确的做法是把message对应的东西放到html里去
把message显示出来的时候,在html里面在进行国际化的操作,在最终输出进行国际化操作,不用在初始化变量,改变过程中进行国际化