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

  • 相关阅读:
    Objective-C 在Categroy中创建属性(Property)
    iOS截屏
    iOS简易图片选择器 (图片可多选,仿微信)
    iOS 3D touch 使用技巧
    soap request by afnetworking2.X/3.X
    类似网易新闻 title栏 滚动时 文字放大&变色
    iOS 用collectionview 做的无限图片滚动 广告banner适用
    iOS WebP转换工具
    微博app中常用正则表达式
    python中property(lambda self: object())简单解释
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12711250.html
Copyright © 2011-2022 走看看