精华内容
下载资源
问答
  • 主要介绍了vue 路由跳转种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • vue路由跳转种方式以及区别

    千次阅读 2019-11-25 14:06:05
    vue路由跳转种方式以及区别 router-link 不带参数 :to="{path:'/home'}"> //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 ...

    vue路由跳转四种方式以及区别

    1. router-link

    1.不带参数

    // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。
    <router-link :to="{name:'home'}">  
    <router-link:to="{path:'/home'}"> //name,path都行, 建议用name 
    

    2.带参数

    // params传参数(类似post)  路由配置 path: "/home/:id" 或者 path: "/home:id"
    // 配置path,刷新页面id会保留 -- 不配置path,第一次可请求,刷新页面id会消失
    // html 取参:$route.params.id  -- script取参: this.$route.params.id
    <router-link :to="{name:'home', params: {id:1}}" target = _blank>
    
    // query传参数 (类似get,url后面会显示参数)  路由可不配置 
    // html取参:$route.query.id  -- script取参:this.$route.query.id
    <router-link :to="{name:'home', query: {id:1}}" target = _blank>    // 打开新页面
    

    3.传递对象 (object不能过长,不然会报错:Failed to load resource: the server responded with a status of 400 (Bad Request)
    query传递对象 (类似get,url后面会显示参数) JSON.stringify(obj) 转一下
    接收的时候使用:
    JS:JSON.parse(decodeURIComponent(this.$route.query.item)) HTML:JSON.parse(decodeURIComponent($route.query.item))

    <router-link :to="{name:'detail', query: {item:JSON.stringify(firItem)}}" target="_blank" >{{ firItem.name.replace(/、/g," / ") }}</router-link> 
    
    1. this.$router.push()

    1.不带参数

    this.$router.push('/home')
    this.$router.push({name:'home'})
    this.$router.push({path:'/home'})
    

    2.query传参

    // html取参: $route.query.id -- script取参: this.$route.query.id
    this.$router.push({name:'home',query: {id:'1'}})
    this.$router.push({path:'/home',query: {id:'1'}})
    

    3.params传参

    // params传参数(类似post)  路由配置 path: "/home/:id" 或者 path: "/home:id"
    // 配置path,刷新页面id会保留 -- 不配置path,第一次可请求,刷新页面id会消失
    // html取参:$route.params.id  -- script取参:this.$route.params.id
    this.$router.push({name:'home',params: {id:'1'}}) // 只能用 name
    

    4.传递对象 (object不能过长,不然会报错:Failed to load resource: the server responded with a status of 400 (Bad Request)
    query传递对象 (类似get,url后面会显示参数) JSON.stringify(obj) 转一下
    接收的时候使用:
    JS:JSON.parse(decodeURIComponent(this.$route.query.obj)) HTML:JSON.parse(decodeURIComponent($route.query.obj))

    // 打开新页面
    const { href } = this.$router.resolve({
        name: "news",
        query: { 
           row: JSON.stringify(obj)
        }
    });
    window.open(href, "_blank");
    

    5.query和params区别
    query类似 get,跳转之后页面 url后面会拼接参数,类似?id=1。非重要性的可以这样传,密码之类还是用params,刷新页面id还在。params类似 post,跳转之后页面 url后面不会拼接参数,但是刷新页面id会消失。

    1. this.$router.replace() (用法同上:this.$router.push() )

    2. this.$router.go(n) ()

       向前或者向后跳转n个页面,n可为正整数或负整数
      
    3. ps : 区别
      (1). this.$router.push

       	跳转到指定url路径,并想history栈中添加一个记录,点击后退会返回到上一个页面
      

      (2). this.$router.replace

       	跳转到指定url路径,但是history栈中不会有记录,点击返回会跳转到上上个页面 (就是直接替换了当前页面)
      

      (3). this.$router.go(n)

       	向前或者向后跳转n个页面,n可为正整数或负整数
      
    展开全文
  • vue 路由跳转三种方法 总结

    千次阅读 2019-11-27 16:12:53
    vue 路由跳转三种方法 总结: 一、 1、路由设置方式 {`在这里插入代码片` path: '/detail/:id', name: 'detail', meta: { keepAlive: true }, component: () => import('../pages/detail/index') } 2、路由...

    vue 路由跳转三种方法 总结:

    一、

    1、路由设置方式
    {`在这里插入代码片`
      path: '/detail/:id',
      name: 'detail',
      meta: { keepAlive: true },
      component: () => import('../pages/detail/index')
    }
    2、路由跳转模式
    this.$router.push(
      {
        path: `/detail/1`
      }
    )
    
    3、获取参数方式
    
    let detailId = this.$route.params.id
    
    注意: params 传参相当于是路由的一部分是必须传的东西,经过验证不传页面会跳转到空白页
    
    该方式刷新页面id 不丢失
    

    二、

    1、路由设置方式
    {
      path: '/detail/:id',
      name: 'detail',
      meta: { keepAlive: true },
      component: () => import('../pages/detail/index')
    }
    2、路由跳转模式
    this.$router.push(
      {
        name: 'Detail',
        params: {
          id
        }
      }
    )
    
    3、获取参数方式
    
    let detailId = this.$route.params.id
    
    注意:此方式传参 路由设置方式中的 id 可以传也可以不传,不传刷新页面id 会丢失
    
    该方式刷新页面id 不丢失
    

    三、

    1、路由设置方式
    {
      path: '/detail',
      name: 'detail',
      meta: { keepAlive: true },
      component: () => import('../pages/detail/index')
    }
    2、路由跳转模式
    this.$router.push(
      {
        path: 'Detail',
        query: {
          id
        }
      }
    )
    
    3、获取参数方式
    
    let detailId = this.$route.query.id
    
    注意:此方式传参 路由设置方式中的 id 不能写,因为写了就是router 的一部分,这样就会匹配不到, 此方式刷新页面id 不丢失
    
    http://localhost:8080/#/detail?id=1
    

    总结: params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。

    展开全文
  • vue路由跳转的几种方式

    万次阅读 多人点赞 2019-06-29 08:44:46
    1、router-link 1. 不带参数 <router-link :to="{name:'home'}">...// 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 &l...
    1、router-link (声明式路由)
    1. 不带参数
     
    <router-link :to="{name:'home'}"> 
    <router-link :to="{path:'/home'}"> //name,path都行, 建议用name  
    // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。
     
    2.带参数
     
    <router-link :to="{name:'home', params: {id:1}}">  
     
    // params传参数 (类似post)
    // 路由配置 path: "/home/:id" 或者 path: "/home:id" 
    // 不配置path ,第一次可请求,刷新页面id会消失
    // 配置path,刷新页面id会保留
     
    // html 取参  $route.params.id
    // script 取参  this.$route.params.id
     
    
    <router-link :to="{name:'home', query: {id:1}}"> 
    
    2、router.push(编程式路由)
    // 字符串
    router.push('home')
    
    // 对象
    router.push({ path: 'home' })
    
    // 命名的路由
    router.push({ name: 'user', params: { userId: '123' }})
    
    // 带查询参数,变成 /register?plan=private
    router.push({ path: 'register', query: { plan: 'private' }})
    

    注意:如果提供了 path,params 会被忽略,上述例子中的 query 并不属于这种情况。取而代之的是下面例子的做法,你需要提供路由的 name 或手写完整的带有参数的 path:

    const userId = '123'
    router.push({ name: 'user', params: { userId }}) // -> /user/123
    router.push({ path: `/user/${userId}` }) // -> /user/123
    // 这里的 params 不生效
    router.push({ path: '/user', params: { userId }}) // -> /user
    
    3、this.$router.push() (函数里面调用)
    1.  不带参数
     
    this.$router.push('/home')
    this.$router.push({name:'home'})
    this.$router.push({path:'/home'})
     
    2. query传参 
     
    this.$router.push({name:'home',query: {id:'1'}})
    this.$router.push({path:'/home',query: {id:'1'}})
     
    // html 取参  $route.query.id
    // script 取参  this.$route.query.id
     
    3. params传参
     
    this.$router.push({name:'home',params: {id:'1'}})  // 只能用 name
     
    // 路由配置 path: "/home/:id" 或者 path: "/home:id" ,
    // 不配置path ,第一次可请求,刷新页面id会消失
    // 配置path,刷新页面id会保留
     
    // html 取参  $route.params.id
    // script 取参  this.$route.params.id
     
    4. query和params区别
    query类似 get, 跳转之后页面 url后面会拼接参数,类似?id=1, 非重要性的可以这样传, 密码之类还是用params刷新页面id还在
     
    params类似 post, 跳转之后页面 url后面不会拼接参数 , 但是刷新页面id 会消失
    
    4. this.$router.replace() (用法同上,push)
    5. this.$router.go(n) ()
    this.$router.go(n)
    向前或者向后跳转n个页面,n可为正整数或负整数
    
    ps : 区别
    
    this.$router.push
    跳转到指定url路径,并想history栈中添加一个记录,点击后退会返回到上一个页面
    this.$router.replace
    跳转到指定url路径,但是history栈中不会有记录,点击返回会跳转到上上个页面 (就是直接替换了当前页面)
    
    this.$router.go(n)
    向前或者向后跳转n个页面,n可为正整数或负整数
    
    注意:获取路由上面的参数,用的是$route,后面没有r

    params是路由的一部分,必须要有。query是拼接在url后面的参数,没有也没关系。
    params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。
    params、query不设置也可以传参,但是params不设置的时候,刷新页面或者返回参数会丢失,

    两者都可以传递参数,区别是什么?

    query 传参配置的是path,而params传参配置的是name,在params中配置path无效
    query在路由配置不需要设置参数,而params必须设置
    query传递的参数会显示在地址栏中
    params传参刷新会无效,但是query会保存传递过来的值,刷新不变

    参考:https://blog.csdn.net/jiandan1127/article/details/86170336
    vue.js 官网

    展开全文
  • vue路由跳转三种方式

    万次阅读 2020-08-19 10:56:18
    通过路由跳转三种方式 1、router-link 【实现跳转最简单的方法】 <router-link to='需要跳转到的页面的路径> 浏览器在解析时,将它解析成一个类似于 < a > 的标签。 #div和css样式略 <li > &...

    router-view 实现路由内容的地方,引入组件时写到需要引入的地方
    需要注意的是,使用vue-router控制路由则必须router-view作为容器。

    通过路由跳转的三种方式

    1、router-link 【实现跳转最简单的方法】

    <router-link to='需要跳转到的页面的路径>
    浏览器在解析时,将它解析成一个类似于 < a > 的标签。

    #div和css样式略
        <li >
            <router-link to="keyframes">点击验证动画效果 </router-link>
        </li>
    

    别忘记给需要跳转的路径在需要提前在router/index.js下引入哦。
    在这里插入图片描述
    2、this.$router.push({ path:’/user’})
    常用于路由传参,用法同第三种

    区别:

    1.query引入方式
    params只能用name来引入路由
    而query 要用path引入

    2.query传递方式
    类似于我们ajax中get传参,在浏览器地址栏中显示参数
    params则类似于post,在浏览器地址栏中不显示参数

    在helloworld.vue文件中

    <template>
    .....
    <li @click="change">验证路由传参</li>
    </template>
     
    <script>
    export default {
      data () {
        return {
          id:43,  //需要传递的参数
        }
      },
      methods:{
        change(){
          this.$router.push({  //核心语句
            path:'/select',   //跳转的路径
            query:{           //路由传参时push和query搭配使用 ,作用时传递参数
              id:this.id ,
            }
          })
        }
      }
    }
    </script>
    

    在select.vue文件中

    <template>
      <select>
              <option value="1" selected="selected">成都</option>
              <option value="2">北京</option>
      </select>
    </template>
     
    <script>
        export default{
            data(){
                return{
                    id:'',
                }
            },
            created(){  //生命周期里接收参数
                this.id = this.$route.query.id,  //接受参数关键代码
                console.log(this.id)
            }
        }
    </script>
    

    3、this.$router.replace{path:‘/’ }类似,不再赘述

    如果对您有用别忘记点赞哦哦哦!!!

    展开全文
  • 主要介绍了vue路由传参三种基本方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Vue 路由跳转的几种方式

    千次阅读 2020-05-20 16:54:45
    1.0 router-link 1. 不带参数 ... // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 <router-link :to="{name:'home', params: {id:1}
  • 1. 标签路由 router-link 注意:router-link中,链接如果是’/'开头则表示从根路由开始;如果开头不带‘/’,则从当前路由开始。 (1)不带参数 <router-link :to="{name:'home'}"> <router-link :to="{...
  • 现在很多的后台管理系统都采用tab选项卡的布局,左边是导航栏固定,右边是对应的页面,每次点击左边的导航标题,只有右面的对应页面再切换,而vue要做tab选项卡,推荐使用<router></router>实现a标签的效果,然后...
  • 主要介绍了vue路由拦截及页面跳转的设置方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • vue 路由跳转种方式 (带参数)

    万次阅读 多人点赞 2019-01-09 19:29:39
    1. router-link 1. 不带参数 <router-link :to="{name:'home'}"> <...// 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。 2.带参数 ...
  • 在本篇文章和里小编给各位总结了关于vue路由跳转传递参数的三种方式以及相关代码,需要的朋友们可以学习下。
  • vue路由的四种跳转方式

    千次阅读 2019-12-18 13:49:09
    一、router-link 1. 不带参数 <router-link :to="{name:'aa'}">...// 注意:router-link中链接如果是'/'开始就是从根路由开始,比如当前此时的路由是xxx/aa,:to="/bb",点击后路径就是xxx/...
  • 如下所示: 点我 methods:{ clickFn:function(){ this.$router.go('/login'...以上这篇vue 实现在函数中触发路由跳转的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
  • 今天小编就为大家分享一篇vue 实现路由跳转时更改页面title,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • vue基础:路由跳转的几种方式

    千次阅读 2019-03-02 16:31:49
    1.最简单的路由跳转方式。 &lt;router-link to="/home"&gt;我的订单&lt;/router-link&gt; 这种方法也是小谷最早实现的。 1.首先给大家看下我的目录(创建项目的时候已经默认安装的了...
  • 浅谈 vue路由跳转的四种方式

    千次阅读 2020-03-30 18:02:25
    ps : 区别 this.$router.push 跳转到指定url路径,并想history栈中添加一个记录,点击后退会返回到上一个页面 this.$router.replace ...向前或者向后跳转n个页面,n可为正整数或负整数 1....
  • 今天小编就为大家分享一篇解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 本篇文章主要介绍了Vue路由跳转问题记录详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了vue2.0项目实现路由跳转的详细方法,非常不错,具有一定的参考借鉴借鉴价值,需要的朋友可以参考下
  • vue中通过路由跳转三种方式

    千次阅读 2019-07-17 16:08:36
    简单记录,预计于7.20日前完善 ...通过路由跳转的基本方式 1、router-link 【实现跳转最简单的方法】 <router-link to='需要跳转到的页面的路径> 浏览器在解析时,将它解析成一个类似于 的标签。 ...
  • 主要介绍了vue路由对不同界面进行传参及跳转的总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,035
精华内容 17,614
关键字:

vue路由跳转的三种方式

vue 订阅