小编Die*_*SeL的帖子

如何在 Vue 3 Web 组件中使用 vue-i18n?

我正在使用 vue-cli 4.5.13 和 --target wc 选项创建一个 Vue Web 组件。我还需要该组件来使用 vue-i18n-next 插件(vue 3 项目的最后一个版本),这需要将一些选项传递给主 Vue 实例,但现在没有主实例,因为入口点是 vue 组件本身,因此 i18n 必须在组件内实例化。

我发现了 vue2 的这个问题: How can I use vue-i18n in a Vue web component? 它适用于 vue2,但i18n在组件选项中实例化对象对 vue3 无效(this.$i18n 保持未定义)。所以这不起作用:

export default {
  name: "custom-compo",
  i18n: i18n,
  components: { ChildComponent }
  data, methods...
};
Run Code Online (Sandbox Code Playgroud)

如果导出 Web 组件(并在标准页面上使用它),或者npm run serve在内部包含此组件的标准应用程序(但再次在组合中实例化 i18n 作为该问题的答案,而不是在 main.js 中),则该解决方案应该有效)

我不是在问如何在普通的 vue 项目中设置 vue-i18n,而是在问如何使用 vue-cli 和 vue 3 在将要构建或导出为自定义元素或 Web 组件的组件中初始化 i18n。

我没有使用组合 api 和 …

web-component vue-i18n vuejs3

6
推荐指数
1
解决办法
7285
查看次数

标签 统计

vue-i18n ×1

vuejs3 ×1

web-component ×1