首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >nuxt i18n路由不适用于子页面

nuxt i18n路由不适用于子页面
EN

Stack Overflow用户
提问于 2019-11-11 08:52:38
回答 2查看 9.4K关注 0票数 4

我已经改变了我的应用程序,使它与nuxt i18n工作,翻译似乎是可行的,当我直接访问路线。

例如http://localhost:3000/fr/step/1

我的应用程序中有下面的结构,每一步都是一个页面,里面有不同的组件。

我的nuxt配置:

在文档中,它说我需要为我的nuxt链接添加localePath,以使它与i18n插件一起工作。https://nuxt-community.github.io/nuxt-i18n/basic-usage.html#nuxt-link

例如:

代码语言:javascript
运行
复制
<nuxt-link to="localePath('about')">About</nuxt-link>

在我的应用程序中,我经常以编程的方式导航到下一步:

代码语言:javascript
运行
复制
this.$router.push({ path: `step/${this.currentStep + 1}` });

现在我有两个问题(问题):

  1. 如何使用localePath以编程方式导航到路由?例如,this.localePath('step/2')不起作用。它总是重定向到首页。
  2. 为什么它不使用模板中的正常链接?我已经测试过了: <nuxt-link :to="localePath('step/2')">Foo</nuxt-link>,但它也不起作用。当我尝试这样的东西时: <nuxt-link :to="localePath('success')">Foo</nuxt-link>工作,因为success页面在第一级。

似乎在路由或我处理子页面的方式上有问题。有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2020-07-08 11:06:23

下面为我工作。我有这样一个Nuxt页面结构。

代码语言:javascript
运行
复制
/pages/settings/car-form.vue

这是带有工作localePath()的这个子页面的Nuxt链接。注意路径中缺少的斜杠

代码语言:javascript
运行
复制
<nuxt-link :to="localePath({ name: 'settings-car-form' })">Car form</nuxt-link>

作为Nuxt医生建议:您必须链接到(Nuxt)路由name斜线在路径上成为一个破折号。请参阅文件页上的文件页数组。

您可以在Nuxt生成的name .nuxt/routes.json -file中查找项目的Nuxt路由的-file。使用添加到__en属性中的__de (英文或德语)后缀,您可以找到您的路径。将上面的localePath()指向没有__en后缀的名称(如上面的示例所示)。

票数 4
EN

Stack Overflow用户

发布于 2019-11-11 09:55:17

好吧,我想我找到了解决问题的方法,但我不确定这样做是否正确:

要使用当前的区域设置切换路由,这对我来说是可行的:

代码语言:javascript
运行
复制
this.$router.push({ path: this.localePath({ path: `step/${this.currentStep + 1}` }) });

在它使用的模板中:

代码语言:javascript
运行
复制
<nuxt-link
  :to="localePath({ path: `step/${currentStep + 1}` })">
  Next step
</nuxt-link>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58798151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档