vue跳转新页面,this.$router.resolve

399 阅读1分钟

使用this.$router.resolve解析路由,生成要跳转的对象

方式一,用name解析。解析后,从resolve返回的对象中,取到href,进行跳转。
handleCaseDetail(row) {
  const { id } = row
  const { href } = this.$router.resolve({
    name: 'routeName',
    params: { id } // 传参,看路由定义
  })
  window.open(href, '_blank')
}
方式二,用path解析,参数放在链接上。解析后,从resolve返回的对象中,取到href,进行跳转。
handlePayedDetail(row) {
  const { id } = row
  const { href } = this.$router.resolve({
    path: `/routePath/${id}`
  })
  
  window.open(href, '_blank')
}
方式三,用path解析,参数用 query 传。解析后,从resolve返回的对象中,取到href,进行跳转。
handlePayedDetail(row) {
  const { id } = row
  const { href } = this.$router.resolve({
    path: `/routePath`,
    query: { // 要传的参数
      id
    }
  })

  window.open(href, '_blank')
}