动态路由的用法

  • 动态组件
<component :is="comName"></component>
  • 在data中声明comName
  • 监听链接的哈希值是否发生变化
created(){
    window.onhashchange=()=>{
        console.log(location.hash)
    }
}

以上做法太费时间,可以用vue-router插件

1.下载安装vue-router

2.在src下创建router文件夹,并创建index.js的文件

//1.引入Vue包和VueRouter的包

import Vue from 'vue'
import VueRouter  from 'vue-router'

//2.调用Vue.use()函数,把VueRouter安装为Vue的插件
Vue.use(VueRouter)

//3.创建路由的实力对象
const router = new VueRouter()

//4.向外共享路由的实例对象
export default router

3.在main.js引入router

import router from '@/router'

4.在App.vue中用router-view占位

<router-view></router-view>

5.在router/index.js中注册路由-----记得引入组件

const router = new VueRouter({
    routers:[
        {path:'/home',component:Home},
        {path:'/movie',component:Home},
    ]
})

6.在App.vue中用<router-link to="/home">首页<router-link> 替代a标签,地址不用带‘#’

7.子路由规则

const router = new VueRouter({
    routers:[
        {path:'/home',component:Home},
        {path:'/movie',component:Home,children:[
            {path:'/child1',component:childcom},
        ]},
        
    ]
})

8.path为空就是默认的

9.动态路由传参

父组件

<router-link to="/home">首页</router-link>
<router-link to="/movie/1">雷神</router-link>
<router-link to="/movie/2">复联</router-link>
<router-link to="/movie/3">洛基</router-link>

router/index.js中注册路由将props设置true

{path:'/movie/:mid',component:Movie,props:true}

子组件的props中,设置参数,就可拿到路由上面的参数并使用

props:[mid]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值