路由传值及获取参数,路由跳转,路由检测,this.$route.query和this.$route.params接收参数,HttpGet请求拼接url参数

摘要:
plan=privatejs中使用的方法:① 这一点$router push//字符串。此处的字符串与路径匹配,而不是名称② 这一点$路由器配置中的路由器推送//对象③ 这一点$router推送//此处的命名路由将变为/user/123④ 这一点$路由器。使用查询参数推送//,它将变为/register?这个$路线查询和此$路线params of plan=privatevalue接收参数this$路线queryA页面传递参数peng=0registerInfoThis$路由器。push(“/hri/psninfo/dynamical/”+data.row.pk_psndoc+'?

配置动态路由参数id:

routes: [

        // 动态路径参数 以冒号开头

        { path: '/user/:id', component: User }

      ]

html路由跳转:

<router-link to="/demo53/8">路径参数跳转</router-link>

①不带参数写法:

      <router-link to="home">点我</router-link>

      <router-link v-bind:to="'home'">点我</router-link>

      <router-link :to="'home'">Home</router-link>

      <router-link :to="{ path: 'home' }">Home</router-link>

② 带参数写法:

     A: <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>

      批注:路由配置格式:

        { path: '/user/:userId', name: 'user', component: User }

       导航显示:/user/123  

     B: <router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>

        批注:带查询参数

           导航显示:/register?plan=private

 js中使用的方式:  

    ① this.$router.push('xxx')                                                                  //字符串,这里的字符串是路径path匹配噢,不是router配置里的name

    ② this.$router.push({ path: 'home' })                                             //对象

    ③ this.$router.push({ name: 'user', params: { userId: 123 }})         // 命名的路由 这里会变成 /user/123

    ④ this.$router.push({ path: 'register', query: { plan: 'private' }})       // 带查询参数,变成 /register?plan=private

vue之this.$route.query和this.$route.params接收参数
this.$route.query
A页面传递参数peng=0
registerInfoThis.$router.push("/hrhi/psninfo/dynamic/" + data.row.pk_psndoc + '?funcode=60070psninfo&peng=0');
B页面接收参数
created() {
    this.penga = this.$route.query["peng"];            
  },

‘http://localhost:8080/linkParamsQuestion?age=18’

let age = this.$route.query.age; //问号后面参数会被封装进 this.$route.query;

this.$route.params
1、router/index.js
{
        path:'/mtindex',
        component: mtindex,
        //添加路由
        children:[
             {
                 path:"/detail",
                 name:'detail',
                 component:guessdetail
             }
        ]        

 },

2、传参数( params相对应的是name query相对应的是path)
this.$router.push({
name: ‘detail’, params:{shopid: item.id}
});


3、获取参数
this.$route.params.shopid


4、url的表现形式(url中没带参数)
http://localhost:8080/#/mtindex
 3.检测路由 

  watch:{
    '$route': function (to,from) {
      // 对路由变化作出响应...
    }
  }
或者
watch: {
    "$route": "routeChange",
},

methods: {
    routeChange(){
        console.log(this.$route.path);
    }
    
}

在 router-view上加上一个唯一的key,来保证路由切换时都会重新渲染触发钩子了

<router-view :key="key"></router-view>

computed: {
    key() {
        return this.$route.name !== undefined? this.$route.name + +new Date(): this.$route + +new Date()
    }
 }

HttpGet请求拼接url参数

    const query = {
      client_id: state.auth.clientID,
      redirect_uri: location.href,
      scope: 'public_repo'
    }

    const queryString = Object.keys(query)
      .map(key => `${key}=${encodeURIComponent(query[key] || '')}`)
      .join('&')

    return `http://github.com/login/oauth/authorize?${queryString}`
    return vue.$http.get(`https://api.github.com/search/issues?q=${data.keyword}+state:open+repo:${vue.$store.getters.repo}${label}&sort=created&order=desc&page=${data.currentPage}&per_page=${data.pageSize}`, {
      headers: {
        'Accept': 'application/vnd.github.v3.html'
      }
    })

 url参数转json字符串:

const queryParse = (search = window.location.search) => {
  if (!search) {
    return {}
  } else {
    const queryString = search[0] === '?' ? search.substring(1) : search
    const query = {}
    queryString
      .split('&')
      .forEach(queryStr => {
        const [key, value] = queryStr.split('=')
        if (key) {
          query[decodeURIComponent(key)] = decodeURIComponent(value)
        }
      })
    return query
  }
}

const queryStringify = query => {
  const queryString = Object.keys(query)
    .map(key => `${key}=${encodeURIComponent(query[key] || '')}`)
    .join('&')
  return queryString
}

获取url参数
//方法封装
function GetRequest() {
    //获取url中"?"符后的字串
    var url = location.search;
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
          var str = url.substr(1);
          strs = str.split("&");
          for(var i = 0; i < strs.length; i ++) {
        theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
          }
    }
    return theRequest;
}
// 方法调用
var Request = new Object();
Request = GetRequest();
var urlCan = Request['参数名'];
方法2:
function getUrlParam(key) {
    // 获取参数
    var url = window.location.search;
    // 正则筛选地址栏
    var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
    // 匹配目标参数
    var result = url.substr(1).match(reg);
    //返回参数值
    return result ? decodeURIComponent(result[2]) : null;
}
//调用
getUrlParam("参数名");

参考:https://www.jianshu.com/p/f69fbc7cb06c

https://www.cnblogs.com/websmile/p/7873601.html      vue-router的用法

https://blog.csdn.net/zjl199303/article/details/82655576         vue 配置路由 + 用户权限生成动态路由 踩过的那些坑
https://blog.csdn.net/sangjinchao/article/details/70888259       vue,router-link传参以及参数的使用
https://blog.csdn.net/wojiaomaxiaoqi/article/details/80688911         vue中this.$router.push路由传参以及获取方法

免责声明:文章转载自《路由传值及获取参数,路由跳转,路由检测,this.$route.query和this.$route.params接收参数,HttpGet请求拼接url参数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇oracle之Flash Recovery Area全面介绍 (转载)Java学习笔记(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Redis--模糊查询(转)

创建一条测试 数据 查询 (默认是 DB0) 创建:set name xiaoming 查询: get name 1、模糊搜索查询 (redis 默认有16个DB , 0-15 ) Redis 模糊搜索 1、keys *   匹配数据库中所有 key 2、keys h?llo   匹配 hello , hallo 和 hxllo 等。 3、keys...

Contiki学习入门之概览

Contiki是专为物联网领域而设计的开源操作系统,适用于联网嵌入式系统和无线传感器网络。由瑞典计算机科学学院的Adam Dunkels团队开发。它有以下几个特点。 1. 网络标准 contiki提供强大的低功耗网络通讯,支持标准IPv4和IPv6,连同最新的低功耗无线标准,6lowpan,ROL,CoAP等等。配合ContikiMAC层和具备休眠功能的路...

C# 读取Json文件

夜阑听雨随笔 - 32  文章 - 0  评论 - 34 C# 读取Json文件C#读取Json文件并赋值给初始值 一、有Json文件如下(若用记事本编辑记得另存为-编码选择 U-TF8): 二、读取方法: using Newtonsoft.Json; using Newtonsoft.Json.Linq; /// <summary&...

VUE三 vue-router(路由)详解

前端路由 根据不同的 url 地址展示不同的内容或页面,无需依赖服务器根据不同URL进行页面展示操作 优点 用户体验好,不需要每次都从服务器全部获取,快速展现给用户 缺点 使用浏览器的前进,后退键的时候会重新发送请求,没有合理地利用缓存 单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置 一、路由(以user为例) userList--...

openwrt防火墙firewall

知识链接:linux平台下防火墙iptables原理 一、 OpenWrt 内置防火墙介绍   Openwrt 是一个 GNU/Linux 的发行版, 和其他大多数的发行版一样,Openwrt 的防火墙同样也是基于 iptables。 在 OpenWRT 下防火墙的默认行为已经可以满足路由器的需要,一般情况下也无需修改。OpenWrt 关于 NAT、 DM...

路由器系统的内存储布局

FLash存储布局 RAW FLASH:闪存芯片直接连接到CPU上 FTL FLASH:闪存芯片通过其它芯片连接到CPU上 【】一般嵌入式系统中的芯片都是raw,因为都是直接连接到cpu上 【】存储分区由MTD与文件系统来控制,传统用MBR或PBR来控制,嵌入式设备中用linux kernel即内核来控制(有时候单独由bootloader来控制)。...