【Vue】Vue-router

Vue-router

零、什么是Vue-router?

Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:

·嵌套的路由/视图表
·模块化的、基于组件的路由配置
·路由参数、查询、通配符
·基于 Vue.js 过渡系统的视图过渡效果
·细粒度的导航控制
·带有自动激活的 CSS class 的链接
·HTML5 历史模式或 hash 模式,在 IE9 中自动降级
·自定义的滚动条行为

一、动态路由匹配

在这里插入图片描述

  • 第一种模式:
    通过固定地址后面不同的参数实现不同的页面内容,即“动态”地进行路由匹配
  • 第二种模式:
    跟第一种一样,只是我们还可以继续添加参数。
二、嵌套路由

就是在route组件后再加上一个children部分表示该路由下的嵌套路由:
在这里插入图片描述
app.vue是组件的入口文件,里面的定义的都是一级路由,就像上图中的GoodsList,而GoodsList下面的二级路由需要在GoodsList组件中去用定义。也就是我们需要在/goods页面下去定义一个router-view充当载体去渲染我们的Title和Image组件。

是用来实现路由之间的跳转,但是注意,其中的路径一定要写绝对路径。

三、编程式路由
  • 所谓编程式路由,顾名思义,就是用编程的方法去实现路由的跳转。
    我们给在页面中部署一个按钮,给他绑上一个点击时会触发的方法jump()
<template>
    <div>
        这是商品列表页面
        <button @click="jump">button - 跳转到购物车页面</button>
    </div>
</template>
<style>
</style>
<script>
export default({
    data() {
        return{
        }
    },
    methods:{
        jump(){
            //第一种:直接输入绝对路径(带'/'的一般都是绝对路径,相对路径不带,会直接拼接父路径)
            // this.$router.push("/cart");
            //第二种:不传字符串,传一个对象
            // this.$router.push( {path:'/cart'} );
            //第三种:传参
            this.$router.push( {path:'/cart?goodsId=123'} );
        }
    }
})
</script>
四、命名路由和命名视图
  • 什么是命名路由和命名视图?
    ·给路由定义不同的名字,根据名字进行匹配
    ·给不同的router-view定义名字,通过名字进行对应组件的渲染

我们在App.vue中录入:
在这里插入图片描述
看到了吗,我们在App.vue中弄了三块,并给每一个都设置了一个名字,然后他们就会根据名字去查找相关的视图然后呈现到我们的页面中。

在index.js文件中:
在这里插入图片描述
在默认页面就声明出来这三个组件,然后这三个组件的内容便可以在默认页面中出现了。

注意:使用这种方式我们发现,一个路径下不仅仅只有一个组件,所以component需要更改为components,切记注意!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值