我正在将 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
‘被命名为 search__en
动态?
原文由 user9801251 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最终的做法是: