在我的应用程序中,我将有一个包含大量文本的大型信息框。它们通常会在编号列表中。我想为他们找到最简单的方法,这样我就可以轻松地将它们从开发人员发送到撰稿人。
是否有任何聪明的方法可以使用vue i18n创建HTML列表(ul或ol),而不将其分解为message中的多个变量。我想使用例如Component interpolation,但只能调用一次:<i18n path="info" tag="li">
。快速代码显示我的意思:
//translate.js (fragment)
const messages = {
en: {
sample: 'Sample text with numbered list. 1) Find the problem 2) Ask on Slack 3) Solve the problem 4) Keep happy with vue'
}
}
export const i18n = new VueI18n({
locale: 'en',
messages
});
//App.vue (fragment)
<ul>
<i18n path="sample" tag="li">
</i18n>
</ul>
我希望“样本”中的文本按子点划分。我关心任何方式,都不必是组件插值。
答案 0 :(得分:0)
您可以按照手册中的说明在数组中使用数组-https://kazupon.github.io/vue-i18n/guide/messages.html
然后您可以像这样构建模板:
<ul>
<i18n v-for="(item,index) in NumberedList" :key="index" :path="`sample[${index}]`" tag="li" />
</ul>