zoukankan      html  css  js  c++  java
  • vue路由传参

    vue路由url 传参 :params(分为url中显示参数和不显示参数)

    url显示参数(页面刷新数据不会丢失)

    方式一:

    getDescribe(id) {
    // 直接调用router.push实现携带参数的跳转this.router.push 实现携带参数的跳转this.router.push实现携带参数的跳转

    this.router.push({
       path: /describe/${id}, //路由地址
    })

    需要对应路由配置如下:

    {
       path: ‘/describe/:id’,
       name: ‘组件名’,
       component: 组件名
    }

    需要在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值。

    子组件中: 这样来获取参数
    this.$route.params.id
    原文链接:https://blog.csdn.net/g_hy1994/article/details/82944037

    例:

    从客户列表页 通过路由跳转到客户详情页 查看客户详情时

    需要将当前客户的id 和所属企业的id 当做参数传给后台。

    在跳转时,将客户id 和企业id 通过路由传参 传给 客户详情页

    客户列表:

     客户详情 通过 this.$router.params 获取 参数

    路由 router.js

     

    params传参 url不显示参数(利用params不显示url传参的方式会导致在刷新页面的时候,传递的值会丢失;

    通过路由属性中的name来确定匹配的路由,通过params来传递参数。

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

    对应路由配置: 注意这里不能使用:/id来传递参数了,因为组件中,已经使用params来携带参数了。

     {
         path: '/home',
         name: 'home',
         component: home
       }

    子组件中获取参数

    this.$router.params.id

    路由传一个对象:query(使用path来匹配路由,然后通过query来传递参数)

     query传递的参数会显示在url后面?id=?

    有时我们需要传很多数据过去,为了避免大量拼接,我们可以传一个对象

    通过this.$route.query接收对象参数,(注意:这里是route不是router)

     这里router 路由 只用写路径即可,不需修改。且传的对象可以写在一个对象里,作为变量传过去。

  • 相关阅读:
    转:SQL 操作结果集 -并集、差集、交集、结果集排序
    转:JSON 获取属性值的方法
    Could not find a getter for orderItems in class
    转:ServletContext,ActionContext,ServletActionContext
    Could not parse mapping document from input stream hibernate配置异常
    According to TLD or attribute directive in tag file, attribute test does not accept any expressions
    Codeforces Round #273 (Div. 2)-A. Initial Bet
    队列

    Codeforces Round #272 (Div. 2)-C. Dreamoon and Sums
  • 原文地址:https://www.cnblogs.com/lpp-11-15/p/12103185.html
Copyright © 2011-2022 走看看