zoukankan      html  css  js  c++  java
  • 路由跳转的几种方式(四.2)

    路由跳转的几种方式

    写的太棒了 https://blog.csdn.net/jiandan1127/article/details/86170336

    1. 声明式跳转 直接跳转 包裹内容

    //不带参数跳转
    //(一)
    <router-link :to="{name:''}">
        查看 
    </router-link>
    //(二)
    <router-link :to="{path:'/home'}"> 
    	查看
    </router-link>
    //name,path都行, 建议用name  
    // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由开始。
    // target="_blank"  用来跳转到新页面
    
    
    //携带参数跳转
    //(一)
    <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}}"> 
    // query传参数 (类似get,url后面会显示参数)
    // 路由可不配置
    // html 取参  $route.query.id
    // script 取参  this.$route.query.id
    
    要是打开新窗口  直接在router-link里面写此属性
     target="_blank" 
    

    2.在方法里面跳转页面

    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. 打开新窗口
    在vue中使用 this.$router.push({ path:  '/home' }) 默认是替代本窗口
    如果想新开一个窗口,可以使用下面的方式:
    let routeData = this.$router.resolve({ path: '/home', query: {  id: 1 } });
    window.open(routeData.href, '_blank');
    
    

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

    3. this.$router.replace() (用法同上,push)

    4. this.$router.go(n)

    this.$router.go(n)
    向前或者向后跳转n个页面,n可为正整数或负整数
    
    **区别**
    
    this.$router.push
    跳转到指定url路径,并想history栈中添加一个记录,点击后退会返回到上一个页面
    
    this.$router.replace
    跳转到指定url路径,但是history栈中不会有记录,点击返回会跳转到上上个页面 (就是直接替换了当前页面)
    
    this.$router.go(n)
    向前或者向后跳转n个页面,n可为正整数或负整数
    
    
  • 相关阅读:
    WRF WPS预处理
    CVS安装
    Linux窗口最小化消失,任务栏上无法找到的解决方法
    NCARG安装配置出现error while loading shared libraries: libg2c.so.0问题额解决办法
    Netcdf安装
    Embedding R-generated Interactive HTML pages in MS PowerPoint(转)
    The leaflet package for online mapping in R(转)
    Some 3D Graphics (rgl) for Classification with Splines and Logistic Regression (from The Elements of Statistical Learning)(转)
    What does a Bayes factor feel like?(转)
    Weka算法介绍
  • 原文地址:https://www.cnblogs.com/tcz1018/p/13092500.html
Copyright © 2011-2022 走看看