Nan*_*a Z 10 javascript vue.js vue-router vuejs3 vue-composition-api
我想创建搜索页面,单击其按钮后将重定向到另一个页面。而这个页面将会是这样的
http://localhost:8080/search?q=foo
Run Code Online (Sandbox Code Playgroud)
我的路由器index.js看起来像这样
const routers = [
{
path: '/search',
name: 'Search',
component: SearchPage,
props: route => ( { query: route.query.q } )
}
]
Run Code Online (Sandbox Code Playgroud)
问题是如何SearchPage在 Vue.js 3 中获取目标页面中的查询值?这个答案仍然让我感到困惑,因为没有使用组合 API 并且不在 vuejs 3 中
Dan*_*Dan 28
useRoute您不需要将查询作为道具发送。使用它更好useRoute,因为它更简单,并且可以从任何组件访问它,而不仅仅是页面视图组件。
import { useRoute } from 'vue-router';
export default {
setup() {
const route = useRoute();
console.log(route.query);
}
}
Run Code Online (Sandbox Code Playgroud)
首先更改路由器映射,以便query映射到query对象:
props: route => ({ query: route.query })
Run Code Online (Sandbox Code Playgroud)
在目标组件中SearchPage,创建一个将从路由器query接收对象的 prop :query
props: ['query']
Run Code Online (Sandbox Code Playgroud)
setup并通过参数访问它props:
props: ['query']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29711 次 |
| 最近记录: |