应用场景:
比如左侧显示用户列表,点击不同的用户,右侧显示用户的详细信息,地址栏中显示不同的路径:xxxx/1,xxxx/2,前面都相同就是后面显示id的数字不同
分析:
<1>这样的路由跳转与一般路由跳转是不同的,一般的路由跳转,每点击一个路由按钮,跳转显示的都是不同的界面,跳转的是不同的路由组件,但是存在这样的情况,点击列表不同的行,显示的是同一个界面,只是数据显示不同,即每次都是跳转到相同的路由组件,注意这个路由组件只是第一次跳转的时候创建,以后再跳转就不再创建,所以mounted只加载一次.
<2>在main.js入口js中注册router后,那么所有的组件对象都会默认有一个$route属性,把它理解为路径,这个属性用于从跳转的路径中获取路径中的可变参数,如果路径中绑定参数的话,如:/:id,获取:this.$route.params.id,params表示路径中的参数对象,获取到id值以后,就可以根据id从数组里面的对象中获取对应的数据
实现:
1.路由配置
{
path: '/home',
component: Home,
chiildren: [
{
path: 'user',
component: User,
children: [
{
//这里的path可以把路径都写全,因为路由链接中的to值可以直接定位到这里