zoukankan      html  css  js  c++  java
  • VUE路由跳转传递参数的几种方式

    1.跳转到新标签页

    网上看到跳转到新标签页有两种方式:

    第一种:

    dofunc () {
        let routeUrl = this.$router.resolve({
        path: '/abc',
        query: {id : 22}
        })
        window.open(routeUrl .href, '_blank)
    }

    第二种:

    <router-link target="_blank" :to="{path:'/abc',query:{id:'22'}}">跳转到新页面</router-link>


    2. 参数传递

    网上看到有四种方式:

    1)通过动态路由方式

    //路由配置文件中 配置动态路由
    {
         path: '/detail/:id',
         name: 'Detail',
         component: Detail
    }
    //跳转时页面
    var id = 1;
    this.$router.push('/detail/' + id)
     
    //跳转后页面获取参数
    this.$route.params.id

    2)通过query属性传值

    //路由配置文件中
    {
         path: '/detail',
         name: 'Detail',
         component: Detail
    }
    //跳转时页面
    this.$router.push({
      path: '/detail',
      query: {
        name: '张三',
        id: 1,
      }
    })
    
    
    //跳转后页面获取参数对象
    this.$route.query

    3)通过params属性传值

    //路由配置文件中
    {
         path: '/detail',
         name: 'Detail',
         component: Detail
    }
    //跳转时页面
    this.$router.push({
      name: 'Detail',
      params: {
        name: '张三',
        id: 1,
      }
    })
     
    //跳转后页面获取参数对象
    this.$route.params

    4)一种感觉满非主流的方式

    function parseUrl(){
        var url=location.href;
        var i=url.indexOf('?');
        if(i==-1)return;
        var querystr=url.substr(i+1);
        var arr1=querystr.split('&');
        var arr2=new Object();
        for  (i in arr1){
            var ta=arr1[i].split('=');
            arr2[ta[0]]=ta[1];
        }
        return arr2;
    }
     var v = parseUrl();//解析所有参数
     alert(v['id']);//就是你要的结果


    其中,

    1.动态路由和query属性传值 页面刷新参数不会丢失, params会丢失

    2.动态路由一般用来传一个参数时居多(如详情页的id), query、params可以传递一个也可以传递多个参数 。












  • 相关阅读:
    6.Mysql事务索引备份视图
    5.MySQL函数
    4.Mysql:使用DQL查询数据
    JavaScript的柯里化和反柯里化
    主流浏览器的内核以及Hack写法
    JavaScript的arguments对象
    JavaScript自定义事件监听
    星空雅梦
    星空雅梦
    星空雅梦
  • 原文地址:https://www.cnblogs.com/betterwgo/p/13125346.html
Copyright © 2011-2022 走看看