Vue项目i18n多语言国际化过程中,过滤器filter中使用国际化遇到的坑及解决办法。
1.表格内的单元格数据,通过后台返回的字段对应的替换为filters中的文字。
<template><span>{{ scope.row.isMain | isMainFilter}}</span></template>.......filters:{isMainFilter(isMain) {if (isMain) {return '是'} else {return '否'}}}
2.解决方案:
<span>{{ scope.row.isMain | isMainFilter(te) }}</span>isMainFilter(isMain, te) {if (isMain) {return te('model.yes')} else {return te('model.no')}}
methods函数中定义
te(arg) {const hasKey = this.$te(arg)if (hasKey) {const result = this.$t(arg)return result}return arg}