1

ローカライズにhttps://github.com/kazupon/vue-i18nを使用

Vue.t() || $t() || trans() vue-i18n によって変換されるキーである文字列を受け取ります

みんな!私は次のコードを試しています:

import Vue from 'vue'

export default {
  task: {
    status: [
      { id: 'pending', name: Vue.t('pending') },
      { id: 'done', name: 'Done' }
    ]
  }
}

それが私の VUEX の状態である私の state.js です! Vue.t 関数を使用しようとすると、次のエラーが発生します。

キャッチされていない TypeError: _vue2.default.t は関数ではありません

私の解決策(パフォーマンスにも優れているとは思いません)

私のstate.jsをそのようにしましょう:

import Vue from 'vue'

export default {
  task: {
    status: [
      { id: 'pending', name: 'pending' },
      { id: 'done', name: 'done' }
    ]
  }
}

そして、次のゲッターを実行しました(vuexゲッター)

import { map } from 'lodash'
import { trans } from 'utils/helpers/translation' // helper for Vue.t(string)

export const getTaskStatus = ({ task }) => map(task.status, (obj) => {
  return { id: obj.id, name: trans(obj.name) }
})

それを機能させるための最良の方法を知っている人はいますか?

4

2 に答える 2