this.$router.push

路由传值 this.$router.push()
(1) 想要导航到不同的URL,使用router.push()方法,这个方法会向history栈添加一个新纪录,所以,当用户点击浏览器后退按钮时,会回到之前的URL
(2)当点击 时,这个方法会在内部调用,即点击 等同于调用 router.push(…)
  a)声明式:
  b)编程式:router.push(…)
c)该方法的参数可以是一个字符串路径,或者一个描述地址的对象。

// 字符串
router.push(‘home’)
// 对象
router.push({ path: ‘home’ })
// 命名的路由
router.push({ name: ‘user’, params: { userId: ‘123’ }})
// 带查询参数,变成 /register?plan=private
router.push({ path: ‘register’, query: { plan: ‘private’ }})
const userId = ‘123’
router.push({ name: ‘user’, params: { userId }}) // -> /user/123
router.push({ path: /user/${userId} }) // -> /user/123
// 这里的 params 不生效
router.push({ path: ‘/user’, params: { userId }}) // -> /user
router:译为路由器,上面都是路由,这个是路由器,我们可以理解为一个容器包含上述两个或者说它是一个管理者,负责管理上述两个;举个常见的场景的例子:当用户在页面上点击按钮的时候,这个时候router就会去routes中去查找route,就是说路由器会去路由集合中找对应的路由;
router 是一个机制,相当于一个管理者,它来管理路由,路由器对象,包含一些操作路由的功能函数,来实现编程式导航 r o u t e r . p u s h ( ) t h i s . router.push() this. router.push()this.router 实际上 就是全局 路由对象 任何页面 都可以 调用 push(), go()等方法
routes: 表示多个数组的集合;
routes:指创建vue-router路由实例的配置项。用来配置多个route路由对象
route:首先它是个单数,译为路由,即我们可以理解为单个路由或者某一个路由;
route:指路由对象表示当前激活的路由的状态信息。如:this. r o u t e 指 的 是 当 前 路 由 对 象 , p a t h / m e t a / q u e r y / p a r a m s t h i s . route指的是当前路由对象,path/meta/query/params this. routepath/meta/query/paramsthis.route 表示当前正在用于跳转的当前路由器对象,可以调用其name、path、query、params等属性;

    routes () {
      return this.$router.options.routes
    },

this.$router.options.routes 可以拿到初始化时配置的路由规则

this.$route 可以拿到当前路由信息




`

 // 通过当前路径找到二级菜单对应项,存到store,用来渲染左侧菜单
    initCurrentRoutes () {
      const { path } = this.$route
      let route = this.routes.find(
        item => item.path === '/' + path.split('/')[1]
      )
      // 如果找不到这个路由,说明是首页
      if (!route) {
        route = this.routes.find(item => item.path === '/')
      }
      this.$store.commit('permission/SET_CURRENT_ROUTES', route)
      this.setSidebarHide(route)
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值