IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【前端技术】vue-router使用 -> 正文阅读

[JavaScript知识库]【前端技术】vue-router使用

router配置

注册完的路由,不管是路由组件还是非路由组件都存在$route,$router属性

  • $route:一般获取路由信息(路径,query,params等)
  • $router:进行编程式导航,进行路由跳转(push,replace)

路由可以设置mate属性,也就是每个路由身上携带的信息。自定义编写

const router = new VueRouter({
  routes: [
    {
      path: '/foo',
      component: Foo,
      children: [
        {
          path: 'bar',
          component: Bar,
          // a meta field
          meta: { requiresAuth: true }
        }
      ]
    }
  ]
})

路由跳转传参

明式导航router-link:

  • 不带参数跳转
链接如果是'/'开始就是从跟路由开始,如果开始不带'/',则从当前路由开始
<router-link to="about">关于</router-link>
<router-link :to="{ name: 'about' }">关于</router-link>
<router-link :to="{ path: 'about' }">关于</router-link>
  • 带参数params跳转
    • 带参跳转时需要使用name关键字,使用path时能跳转,但是不能传递参数
    • 需要在路由里边配置path: '/about/:id’,并且传参会显示在链接中http://localhost:8080/about/1
    • 取值时使用 this.$route.params.id
<router-link :to="{ name: 'about', params: { id: 1 } }">关于</router-link>

  • 带参数query跳转
    • 路由里边不需要设置 :id 参数,直接path: '/about’即可
    • 参数会拼接到 http://localhost:8080/about?id=1,类似get
    • 取值时使用 this.$route.query.id
<router-link :to="{ name: 'about', query: { id: 1 } }">关于n</router-link>
<router-link :to="{ path: 'about', query: { id: 1 } }">关于p</router-link>

编程式导航push,replace:

声明式导航能做的都可以做,还可以做其他的业务逻辑

  • 不带参数跳转,name,path都可以使用
// this.$router.push("about");
// this.$router.push({ name: "about" });
// this.$router.push({ path: "about" });
  • 带参数query,name和path都可以用,参数拼接到url中
//使用name关键字
this.$router.push({ name: "about", query: { id: 1, ids: 2 } });
// http://localhost:8080/about?id=1&ids=2

// 使用path关键字
this.$router.push({ path: "about", query: { id: 1, ids: 2 } });
// http://localhost:8080/about?id=1&ids=2

// 直接使用url拼接
this.$router.push("/about?id=1");
// http://localhost:8080/about?id=1

// 接收参数
this.$route.query
  • 带参数 params,不会显示到url中

    路由需要配置path: '/about/:id/:ids’参数,否则刷新后参数消失

    params只能和name一起使用,否则参数传不进去

this.$router.push({ name: "about", params: { id: 1, ids: 2 } });

// 接收参数
this.$route.params

push, relpace, go区别

  • push:跳转到指定url,并且向history栈中添加一个记录,点击后退会返回上一个页面
  • replace:跳转到指定url,但是history中不会有记录,点击返回跳转到上上个页面(栈中有记录的页面,可以说是直接替换了当前页面)
  • go:向前或者向后跳转n个页面,可以为正数或者负数,为0时刷新当前页。
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 10:46:47  更:2022-04-23 10:47:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:52:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码