美文网首页
vue单页面路由跳转

vue单页面路由跳转

作者: Light_shallow | 来源:发表于2019-09-29 10:20 被阅读0次

分两种情况
一、跳转后页面的地址为 “/b”

   {
          path: '/b',
          name: 'b',
          component: B
  },

从a页面跳转,有两种方法
(1)通过path

 this.$router.push({
        path:'/b',
         query:{
            id: 12
         }
  })

此时,B页面上的router信息是这样子的


image.png

通过query可以获取到这个对象
地址栏的地址是
http://localhost:8080/#/b?id=12

(2)通过路由name

    this.$router.push({
        name:'b',
        params:{
            id: 12
        }
    })

这个时候B页面的信息是这样的


image.png

通过params可以拿到信息

地址栏的地址是
http://localhost:8080/#/b

但是值得注意的是刷新页面之后,params里面会变成空对象
(3)window.open

                window.open('#/b?id=12')

通过query取参,刷新页面不会丢失

总结:

//name 和params搭配使用 刷新之后那边获取值会获取不到
//path 和query搭配使用 fullPath:/b?id=12

二、跳转后地址是 ’/aboutA/111'

 {
          path: '/aboutA/:id',
          name: 'aboutA',
          component: AboutA
  },

(1)直接通过path

 this.$router.push({
         path:'/aboutA/111'
  })

页面信息显示为


image.png

可通过params获取信息

(2)通过params

                this.$router.push({
                    name: 'aboutA',
                    params:{
                        id: 123
                    }
                })

页面显示同(1)获取信息方法也相同
(3)通过query

          this.$router.push({
                 path: '/aboutA',
                 query:{
                     id: 12312
                 }
             })  

// 这个出来地址是/aboutA?id=12312不会有对应页面出现
(4)直接用window.open

                window.open('#/aboutA/123')

这个方法出现的效果也是一样的

path和query结合使用,取参也用query
name和params结合使用,取参也用params
对于目标地址路径的不同,使用也有所区别,window.open方法简单些,刷新页面丢失以及和跳转参数和目标地址设置无法对应,导致显示不出来,这几个需要稍微注意点。

$route部分对象的解释

1,$route.path

类型: string

字符串,对应当前路由的路径,总是解析为绝对路径。

2,$route.params

类型: Object
  一个 key/value 对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象。

3,$route.query

类型: Object

一个 key/value 对象,表示 URL 查询参数。则有 $route.query

4,$route.hash

类型: string

当前路由的 hash 值 (带 #) ,如果没有 hash 值,则为空字符串。

5,$route.fullPath

类型: string

完成解析后的 URL,包含查询参数和 hash 的完整路径。p

相关文章

  • 10 Vue路由、http请求、跨域请求fetch/axios/

    1、Vue路由的使用 ->页面之间跳转其不会刷新页面 ->单页面应用 ->用户体验感良好 (1).安装路由模块:n...

  • Vue

    1.函数路由跳转:this.$router.push('detail') 2. SEO 思路处理 Vue 单页面 ...

  • @芥末的糖-----Vue-router

    我们使用路由来干什么呢?个人理解:在前端我们做单页面的开发时,常使用路由来实现页面的跳转,Vue给出了我们Vue-...

  • vue单页面路由跳转

    分两种情况一、跳转后页面的地址为 “/b” 从a页面跳转,有两种方法(1)通过path 此时,B页面上的rout...

  • vue-router用法

    vue 路由 路由点击跳转不会页面刷新,可以保留数据 安装vue-router:npm install vue-r...

  • vue 路由请求 浏览器被拦截

    之前做了一个功能是点击按钮路由跳转打开新的窗口页面这个功能在之前的文章中写到过《vue spa 单页面应用跳转打开...

  • 页面路由(模拟页面跳转)

    路由用于单页面应用的模拟跳转

  • Vue路由this.$router.push跳转页面不刷新

    一、背景 介绍:在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。也就是vue生命周期函数没...

  • vue中子路由跳转父组件不跟着刷新怎么办

    一般用vue开发的都是单页面应用程序。在使用路由插件vue-router时,我们经常利用子路由的跳转实现部分数据的...

  • Vue基础知识

    Vue基础知识 Vue单文件组件:以任意方式组成一个对象,最后用loader还原成对象 单页面:是指没有路由跳转的...

网友评论

      本文标题:vue单页面路由跳转

      本文链接:https://www.haomeiwen.com/subject/jyvmectx.html