前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >(二十七)CompositionApi 路由

(二十七)CompositionApi 路由

作者头像
老怪兽
发布2023-02-22 18:49:07
发布2023-02-22 18:49:07
23700
代码可运行
举报
运行总次数:0
代码可运行
CompositionApi 路由

说明

因为在 compositionApi 当中无法访问 this 所以在 compositionApi 当中使用路由时另外一种方式

一、 compositionApi 使用 route 的语法
代码语言:javascript
代码运行次数:0
复制
// 1. 需要引入
import { useRouter } from 'vue-router'

// 使用 useRouter 返回的实例
const route  = useRoute()

route.params.postId
二、监听数据的变化从新获取数据
代码语言:javascript
代码运行次数:0
复制
watchEffect( () => {
  blogPost.value = getBLogPostById(route.params.postId)
})
三、编程式导航,访问 router 对象
代码语言:javascript
代码运行次数:0
复制
const route = useRouter()
function next() {
  router.push(`/${blogPost.value.id + 1}`)
}
四、组件导航守卫
代码语言:javascript
代码运行次数:0
复制
onBeforeRouteUpdate( (to, from) => {
  console.log(to, from)
})

onBeforeRouteLeave( (to, from) => {
  console.log(to, from)
})
五、routerLink
代码语言:javascript
代码运行次数:0
复制
// 对自定义封装 router-link 参数那些可以使用 useLink 获取
import { useLink  } from 'vue-router'
setup(props) {
  const { navigate } = useLink(posts)
  return { navigate }
}
  • beforeRouteEntrer, 因为在 script setup 中无法定义,可以通过 script 共存的特性把他定义在 setup 外面
代码语言:javascript
代码运行次数:0
复制
<script>
  export default {
    beforeRouteEntrer: (to, from ) => {
      console.log(to, from)
    }
  }
</script>
<script>/* ... */</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CompositionApi 路由
  • 一、 compositionApi 使用 route 的语法
  • 二、监听数据的变化从新获取数据
  • 三、编程式导航,访问 router 对象
  • 四、组件导航守卫
  • 五、routerLink
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档