13 vue.js nuxt.js vue-i18n nuxt-i18n
我正在将 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}});
}
}
Run Code Online (Sandbox Code Playgroud)
但这在 Nuxt 中没有任何作用。发出警报('hi); submitSearch 内部触发很好,但我从未重定向到路由。
这里的目标是当用户在搜索栏中按下 Enter 键时,重定向到 /search?q=blablabla
编辑:
问题是用户被重定向到/?q=blablabla而不是/search?..
我刚刚意识到这是因为多语言路线有不同的名称。
我将如何推送到一个动态search命名的路由名称而不是“ ” search__en?
小智 26
我最终做到的方式是:
this.$router.push({path: this.localePath('search'), query: {q: this.q}});
Run Code Online (Sandbox Code Playgroud)