我想为所有语言呈现相同的组件。翻译将在组件内部完成。 url和组件的关系应如下所示:
pseudocode:
browserurl: "/blogpost_1"
nuxtcomponent: "blogpost_1"
browserurl: "/en/blogpost_1"
nuxtcomponent: "blogpost_1"
browserurl: "/randompage"
nuxtcomponent: "randompage"
browserurl: "/en/randompage"
nuxtcomponent: "randompage"
我的方法是执行以下操作,很遗憾,我找不到访问pathMatch的方法。
router: {
extendRoutes(routes, resolve){
routes.push({
path: 'en/*',
component: resolve(__dirname, '/' + somehow.access.pathMatch )
})
}
}
答案 0 :(得分:1)
我认为您无法动态解析组件。 component:
需要组件实例或Promise。承诺解决后,结果将被缓存。我可以想象使用导航卫士并“手动”切换组件的解决方案,但这将需要手动导入视图等。
因此,最好的办法是重写nuxt生成的路径,以包括可选的路径段(从/about
到/:lang(en|jp)?/about
,以便它接受/en/about
之类的路径),然后您的组件会收到{{ 1}}参数,其中lang
为空,否则将包含语言。...
在您的页面中:
/about
在Nuxt配置中(伪-未测试)
<script>
export default {
meta: {
translations: ['en', 'jp']
}
}
</script>