Vue知识整理——路由

96 阅读1分钟

查询传参 (多值)

<router-link to="/search?name=黑暗深林&author=大刘"></router-link>

<!-- $route.query.name-->

动态路由传参 (方便)

<router-link to="/search/黑暗深林></router-link>

<!-- 配置路由的path:"/sezrch/:words"-->

<!-- $route.params.words-->

重定向

redirext:重定向路径,也就是强制跳转到这个路径

routes:[
    {path: '/' ,redirect: 'search'},
    {path: '/search' ,component: SearchWord}
]

路由跳转

//这里是$router别写错了
this.$router.push('路由路径')
this.$router.push({    //可以查询传参
    path: '路由路径',
    query: {
        参数名: '参数值'
    }
})
this.$router.push({    //还可以动态路由传参
    path: '路由路径/参数值',
})


//当然如果嫌弃路径太长,也可以给路由取名字
routes:[
    {path: '/' ,redirect: 'search'},
    {name: 'sh', path: '/search' ,component: SearchWord}
]

this.$router.push({
    name: 'sh'
})

组件缓存

由于路由跳转后,组件会被销毁,等待返回又重新重建,这样会导致数据重新加载


<div>
<!-- 把切换的组件保存在内存,防止重新渲染-->
<!--
include: 只有匹配的组件会被缓存
exclude: 匹配到的组件不会被缓存
max: 最多缓存多少组件
-->
    <keep-alive include="组件名">
        <router-view></router-view>
    </keep-alive>
</div>