zoukankan      html  css  js  c++  java
  • vue的跳转方式(打开新页面)及传参

      1. router-link跳转

       // 直接写上跳转的地址
      <router-link to="/detail/one">
        <span class="spanfour" >link跳转</span>
      </router-link>
      // 添加参数
      <router-link :to="{path:'/detail/two', query:{id:1,name:'vue'}}">
       </router-link>
      // 参数获取
      id = this.$route.query.id
      // 新窗口打开
      <router-link :to="{path:'/detail/three', query:{id:1,name:'vue'}}" target="_blank">
      </router-link>

      2. this.$router.push跳转

    toDeail (e) {
       this.$router.push({path: "/detail", query: {id: e}})
     }
     // 参数获取
     id = this.$route.query.id
     
     toDeail (e) {
       this.$router.push({name: "/detail", params: {id: e}})
     }
     // 注意地址需写在 name后面
     //参数获取,params和query区别,query参数在地址栏显示,params的参数不在地址栏显示
     id = this.$route.params.id

       3. this.$router.replace跳转

    //和push的区别,push有记录一个history,replace没有
     toDeail (e) {
       this.$router.replace({name: '/detail', params: {id: e}})
     }

      

      4. resolve跳转

    //resolve页面跳转可用新页面打开
    //2.1.0版本后,使用路由对象的resolve方法解析路由,可以得到location、router、href等目标路由的信息。得到href就可以使用window.open开新窗口了(这边应用:https://segmentfault.com/q/1010000009557100下的一个回答)
     toDeail (e) {
       const new = this.$router.resolve({name: '/detail', params: {id: e}})
       window.open(new.href,'_blank')
     }

    接收方怎么接收参数 this.$route.query.serid和this.$route.params.setid,以下举一个接收的例子

    注意接收参数时是 $route 不是 $router 

    <template>
        <div>
            testDemo{{this.$route.query.setid}}
        </div>
    </template>

    接收的参数:

    <template>
        <div>userlist--{{mallCode}} </div>
    </template>
    
    <script>
      export default {
        name: "UserList",
        date:function(){
          return {"mallCode":mallCode}
        },
        created(){
          this.getParams()
        },
        methods:{
          getParams() {
            // 取到路由带过来的参数
            const routerParams = this.$route.query.mallCode;
            this.mallCode = routerParams;
            console.log(this.$route.query);
    
            // 将数据放在当前组件的数据内
            //this.mallInfo.searchMap.mallCode = routerParams;
            //this.keyupMallName()
          }
        }
      }
    </script>
    
    <style scoped>
    
    </style>

    转 :  https://blog.csdn.net/qq_28353055/article/details/84099004

    https://blog.csdn.net/Janus_lian/article/details/84965459

  • 相关阅读:
    玉米不怕累,宇春最珍贵
    幸福
    谷歌位置搜索 蹩脚结合jquery.ui.gmap
    Resharp Format XML config
    正则表达取得 image src 中值
    一个Gif处理的类库
    使用nuGet管理自己的包
    正则表达式语言 快速参考
    动态加入JS及加入CSS
    检测是一个时间串或一个数字串是否连续
  • 原文地址:https://www.cnblogs.com/fps2tao/p/12049526.html
Copyright © 2011-2022 走看看