【发布时间】:2018-10-26 18:22:32
【问题描述】:
我正在将一个 VueJS 项目转换为 Nuxt.js,但我无法理解 nuxt 如何处理路由。它的文档没有提到推送路由。
使用 VueJS 我在组件中有以下内容。
//template
<input class="" type="search"
name="q" id="q" v-model="q"
@keyup.enter="submitSearch"
>
//script
methods: {
submitSearch() {
this.$route.push({name: 'search', query: {q: this.q}});
//also tried the following
//nuxt.$router.push({name: 'search', query: {q: this.q}});
}
}
但这在 Nuxt 中没有任何作用。发出警报('hi);在 submitSearch 内触发正常,但我从未被重定向到路线。
这里的目标是当用户在搜索栏中按下回车键时,重定向到 /search?q=blablabla
编辑:
问题是用户被重定向到/?q=blablabla而不是/search?..
我刚刚意识到这是因为多语言路线有不同的名称。
我将如何推送到动态命名为 search__en 而不是“search”的路由名称?
【问题讨论】:
-
不还是“this.$router.push...”吗?
-
也可以参考这个问题:github.com/nuxt/nuxt.js/issues/2737
-
感谢@DevinFields,我更新了我的问题。
-
可能仍然没有足够的信息。那是完整的vue文件吗?你能发布你的路由器配置吗?
标签: vue.js nuxt.js vue-i18n nuxt-i18n