The*_*ter 10 vue.js vue-router vuejs3 vue-composition-api vue-router4
我使用Vue 2 Composition API,并希望在我的方法中从 Vue Router 访问路由参数setup()。
如Vue Router 文档中所述:
因为我们无权访问 的
this内部setup,所以我们无法直接访问this.$routerorthis.$route。相反,我们使用该useRouter函数:Run Code Online (Sandbox Code Playgroud)import { useRouter, useRoute } from 'vue-router' export default { setup() { const router = useRouter() const route = useRoute() function pushWithQuery(query) { router.push({ name: 'search', query: { ...route.query, }, }) } }, }
不幸的是,此方法在 Vue 2 的 Vue Router 中不可用。这里有哪些选项以及如何使用 Vue 2 Composition API 访问我的路由参数?
Bou*_*him 17
在 Vue 版本 <= 2.6 组合 api 中,您root在设置上下文中拥有引用根组件的属性,请尝试使用它而不是this:
export default {
setup(props,context) {
const router = context.root.$router;
const route = context.root.$route;
function pushWithQuery(query) {
router.push({
name: 'search',
query: {
...route.query,
},
})
}
},
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10694 次 |
| 最近记录: |