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

  • 相关阅读:
    数据结构 AVL树
    数据结构 快速排序
    Mybatis 传递多个参数
    数据结构 二叉搜索树
    Java 多线程 ReadWriteLock
    Java 基础 集合框架
    SourceTree安装跳过注册
    【前端部署】阿里云 windows2019服务器用node部署静态项目
    【node开发】node简易服务器一分钟搞定
    【node开发】node.js编写一个接口
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711250.html
Copyright © 2011-2022 走看看