1、在vue-cli中如何安装和配置路由,哪些核心步骤
五个基础步骤+两个核心步骤
yarn add [email protected]
②在main.js
中引入 VueRouter
函数
import VueRouter from 'vue-router'
③添加到 Vue.use()
身上
Vue.use(VueRouter)
④创建路由对象
const router = new VueRouter({ })
⑤将路由对象注入到 new Vue
实例中
new Vue({ router })
⑦配置路由规则
import Find from '../路径/Find.vue'
const router = new VueRouter({
routes: [ // route: 一条路由规则
{
path: '/find', // 路径
component: Find, // 组件
}
],
})
⑧指定路由出口 router-view
<router-view></router-view>
2、一个路由映射对象包含哪些核心配置属性
routes,mode
3、什么场景下会用到嵌套路由,如何配置嵌套路由
场景:可以根据提供的URL来访问对应层级的组件,并将子组件的内容,渲染至上一级的 <router-view>
配置: 在一级路由的配置中加上 children
属性,children
对应的数组,和 routes
的配置规则一样
const routes = [
// 配置一级路由
{
path: '/',
component: Layout,
redirect: '/article', //重定向
// 配置子路由(二级路由)
children:[
// 一个对象表示一个子路由规则
// 注意: 子路由写 path 不需要以 /开头
//会自动拼接父级路由的path
{ path: '/article',component: Article} ,
{ path: '/like',component: Like} ,
{ path: '/user',component: User} ,
{ path: '/collect',component: Collect}
]
}
]
4、如何配置动态路径参数,并且取值
路由参数使用 : 标记
// 配置路径参数:
this.$router.push('/part/小雪')
// 需要提前在 index.js 中定义路由规则
const routes = [
{
name: 'find',
path:'/find/:name',
component: Find
}
]
// 取值
$route.params.xxx
取值: 无论用什么方式跳转传参,最后都用相同的方式接收参数
// 配置路径参数:
this.$router.push({
path: '/my?name=佩奇&age=18',
query:{ //本质上也是在path上进行拼接
name: '阿天',
age: 18
}
})
// 取值
$route.query.xxx
5、页面之间传值有哪些方式
①path+query
this.$router.push({
path: '/my?name=佩奇&age=18',
query:{ //本质上也是在path上进行拼接
name: '阿天',
age: 18
}
})
②name+query
toFind(){
this.$router.push({
name: 'find',
query:{
name: '阿天',
age: 18
}
})
③name+params
toFind(){
this.$router.push({
name: 'find',
params:{
name: '学习',
age: 88
}
})
④路径参数传参
// 配置路径参数:
this.$router.push('/part/小雪')
// 需要提前在 index.js 中定义路由规则
const routes = [
{
name: 'find',
path:'/find/:name',
component: Find
}
]