zoukankan      html  css  js  c++  java
  • Vue-router 第6节 vue-router的重定向-redirect

    Vue-router 第6节 vue-router的重定向-redirect


    第6节 vue-router的重定向-redirect

    开发中有时候我们虽然设置的路径不一致,但是我们希望跳转到同一个页面,或者说是打开同一个组件。这时候我们就用到了路由的重新定向redirect参数

    redirect基本重定向

    我们只要在路由配置文件中(/src/router/index.js)把原来的component换成redirect参数就可以了。我们来看一个简单的配置。

    export default new Router({
      routes: [
        {
          path: '/',
          component: HelloWorld
        },{
          path:'/params/:newsId(\d+)/:newsTitle',
          component:Params
        },{
          path:'/goHome',
          redirect:'/'
        }
      ]
    })
    

    相应的,App.vue页面只需添加:

    <router-link to="/goHome">goHome</router-link>|
    

    这里我们设置了gohome路由,但是它并没有配置任何component(组件),而是直接redirect到path:’/’下了,这就是一个简单的重新定向。这个时候能跳回到默认页面(我们的Home页面),但地址栏还是http://localhost:8080/#/,不会改变。

    重定向时传递参数

    我们已经学会了通过url来传递参数,那我们重定向时如果也需要传递参数怎么办?其实vue也已经为我们设置好了,我们只需要在redirect后边的参数里复制重定向路径的path参数就可以了。我们来看一段代码:

    {
    	path:'/params/:newsId(\d+)/:newsTitle',
        component:Params
    },{
    	path:'/goParams/:newsId(\d+)/:newsTitle',
        redirect:'/params/:newsId(\d+)/:newsTitle'
    }
    

    相应的,在App.vue中添加:

    <router-link to="/goParams">goParams</router-link>
    

    已经有了一个params路由配置,我们在设置一个goParams的路由重定向,并传递了参数。这时候我们的路由参数就可以传递给params.vue组件了。参数接收方法和正常的路由接收方法一样。

    点击goParams:

    我们发现参数能够进行重定向,地址栏也变化成params。
    但如果什么都不传,只写<router-link to="/goParams">goParams</router-link>,页面没有任何内容,地址栏还是http://localhost:8080/#/goParams

  • 相关阅读:
    心跳机制
    有可能出现的中文乱码
    【学习】logger
    【开发效率】Chrome快捷键
    Unable to open debugger port (127.0.0.1:4184): java.net.SocketException "socket closed"
    将项目发布【2.用idea】
    将项目发布【1.用MobaXterm】
    basePath
    大文件上传如何做断点续传?
    JavaScript如何判断一个元素是否在可视区域中?
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711250.html
Copyright © 2011-2022 走看看