欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue项目i18n多语言国际化过程中,过滤器filter中使用国际化遇到的坑及解决办法。

程序员文章站 2022-03-03 10:24:41
...

1.表格内的单元格数据,通过后台返回的字段对应的替换为filters中的文字。

  1. <template>
  2. <span>{{ scope.row.isMain | isMainFilter}}</span>
  3. </template>
  4. .......
  5. filters:{
  6. isMainFilter(isMain) {
  7. if (isMain) {
  8. return '是'
  9. } else {
  10. return '否'
  11. }
  12. }
  13. }

2.解决方案:

  1. <span>{{ scope.row.isMain | isMainFilter(te) }}</span>
  2. isMainFilter(isMain, te) {
  3. if (isMain) {
  4. return te('model.yes')
  5. } else {
  6. return te('model.no')
  7. }
  8. }

methods函数中定义

  1. te(arg) {
  2. const hasKey = this.$te(arg)
  3. if (hasKey) {
  4. const result = this.$t(arg)
  5. return result
  6. }
  7. return arg
  8. }