如何使用i18n变量与v-for?



我必须在表单中使用i18n个变量来选择下拉列表。我可以像这样访问main.js中的i18n数据:

// Load locales
axios
.get("http://localhost:3000/data")
.then(({data}) => {
console.log(data);
appOptions.i18n.setLocaleMessage("fr", basil.get(data, "fr", {}));
appOptions.i18n.setLocaleMessage("en", basil.get(data, "en", {}));
appOptions.i18n.setLocaleMessage("nl", basil.get(data, "nl", {}));
})
.catch((error) => {
console.error(error);
});

在我的表单组件中,我可以使用这些日期,例如,对于简单的字段:

<div class="success" v-if="success">
{{ $t("contact.success_message") }}
</div>

我想用v-for来选择带有"$t"变量。像这样的东西不工作:

<option
v-for="item in $t("register")"
:key="item"
:value="item"
>

{{item}}

你能告诉我如何才能实现这一点,如果我必须遵循json文件的结构i18n变量:

{
es: {
contact: {
contact_demo: "Contáctenos para una demostración",
contact_sales: "Comuníquese con ventas",
...

},
register: {
option_Germany: "Alemania",
option_Morocco: "Marruecos",
option_Belgium: "Bélgica",
option_Cook Islands: "Islas Cook",
...

找到了解决方案:

<select id="countries">
<option
v-for="value in $t('register',)"
:key="value"
>
{{ value }}
</option>
</select>

相关内容

  • 没有找到相关文章

最新更新