vue-router 命名路由&编程式导航

命名路由的配置规则

为了更加方便的表示路由的路径,可以给路由规则起一个别名,即为“命名路由”。

在链接路由时通过 :to 绑定路由,name 属性用来确定链接的路由名称,params 传递参数

const router = new VueRouoter({
  router: [
    {
      path: '/user/:id',
      name: 'user',
      component: User
    }
  ]
})
<router-link :to="{ name: 'user', params: { id: 123 } }">User</router-link>
router.push({ name: 'user', params: { id: 123 }})

编程式导航

页面中导航的两种方式

  • 声明式导航:通过点击链接实现导航的方式,叫做声明式导航(例如:普通网页中的<a></.a>链接或vue中的<router-link></router-link>)
  • 编程式导航:通过调用JavaScript形式的API实现导航的方式,叫做编程式导航(例如:普通网页中的location.href)

编程式导航基本使用方法

常用的编程式导航API如下:

  • this.$router.push('hash地址')
  • this.$router.go(n)
const User = {
  template: '<div><button @click=“goRegister”>跳转到注册页面</button></div>',
  methods: {
    goRegister: function(){
      //用编程的方式控制路由跳转
      this.$router.push('/register');
    }
  }
}

router.push() 方法的参数规则

1  //字符串(路径名称)
2 router.push('/home')
3 //对象
4 router.push({ path: '/home' })
5 //命名空间
6 router.push({ name: '/user', params: {userId: 123 }})
7 //带查询参数,变成/register?uname=yzy
8 router.push({ path: '/register', query: { uname: 'yzy' } })

 

posted @ 2020-12-30 22:39  黎沐不吃香菜  阅读(355)  评论(0)    收藏  举报