首页 > 解决方案 > 更改语言后未翻译 Vue js 道具

问题描述

我有一个带有这样常量的文件:

import i18n from '@/i18n';
export const FILTERS = {
BALCONY_TYPE: [
    {
        value: 0,
        name: i18n.t('home.filters.type.balcony_type.0')
    },
    {
        value: 1,
        name: i18n.t('home.filters.type.balcony_type.1')
    }
],
}

在我的组件中,我有:

<label class="uk-form-label search-label">Balcon</label>
    <switcher-filter
       :type="apartmentsFilterType.BALCONY_TYPE"
       :options="balconyType"
       @updateFilter="updateFilterValue"
       :selected-option="selectedValue(apartmentsFilterType.BALCONY_TYPE)"
       :key="$store.getters['language/getCurrentLanguage']"
     >
   </switcher-filter>
export default {
name: "Bloc",
components: {
    SliderFilter,
    SelectFilter,
    InputNumberFilter,
    SwitcherFilter,
    Country,
    Region,
    City
},
data() {
    return {
        balconyType: FILTERS.BALCONY_TYPE

SwitcherFilter

<template>
    <div>
        <ul class="uk-subnav uk-subnav-pill">
            <li
                v-for="item in options"
                :class="item.value === selectedOption ? 'uk-active' : ''"
                >
                    <a
                        href="#"
                        v-on:click="onChange(item.value)"
                    >
                        {{ item.name }}
                    </a>
            </li>
        </ul>
    </div>
</template>
export default {
  name: "SwitcherFilter",
  props: ["options", "type", "selectedOption"],
  methods: {
    onChange(value) {
       this.$emit('updateFilter', this.type, value);
    }
  }
}

当我更改语言时,BALCONY_TYPE不会翻译值。你能帮我吗?

我将我的语言保存在 Vuex 中。

标签: javascriptvue.jsvue-i18n

解决方案


推荐阅读