使用编程式导航
使用 router.push()
方法进行路由跳转,可以在其中传入一个路由对象,也可以传入一个字符串路径:
// 传入路由对象 router.push({ path: '/foo' }) // 传入字符串路径 router.push('/foo')
在路由对象中,可以通过 params
和 query
选项传递参数:
router.push({ path: '/foo', query: { bar: 'baz' } }) router.push({ name: 'foo', params: { id: 123 } })
使用声明式导航
可以在 <router-link>
标签上使用 to
属性实现声明式导航。和编程式导航一样,可以传入一个字符串路径或路由对象,同时也可以通过 params
和 query
选项传递参数:
<!-- 传入字符串路径 --> <router-link to="/foo">Go to Foo</router-link> <!-- 传入路由对象 --> <router-link :to="{ path: '/foo' }">Go to Foo</router-link> <!-- 传递参数 --> <router-link :to="{ name: 'foo', params: { id: 123 } }">Go to Foo</router-link>
在组件内使用 $router 和 $route 对象
在 Vue.js 组件中,可以通过 $router 和 $route 对象实现跳转和传参。其中,$router 对象用于导航,而 $route 对象用于提取当前路由的信息,包括参数、查询等。可以通过 $router 对象的 push() 方法进行跳转:
// 在组件内部提取参数 this.$route.params.id // 在组件内部提取查询参数 this.$route.query.foo // 跳转到指定路由 this.$router.push('/foo') this.$router.push({ path: '/foo', query: { bar: 'baz' } })
总之,使用 Vue Router 可以通过编程式导航、声明式导航、组件内部导航等方式实现路由跳转和参数传递。