Vue2.7组合式中使用router3
本文最后更新于:2023年9月12日 晚上
介绍
众嗦粥汁,在setup的组合式语法中,this是无法获取当前Vue实例的,所以这在Vue2.7项目中使用vue-router@3就成为了困难,如下:
1 | |
那vue-router@3版本又不支持hook,所以可以手动封装一个,先看使用:
1 | |
这让router3封装后可以更加贴合router4在setup中的使用,只需要跳转时,这种方法并不推荐,更推荐直接引入使用
1 | |
routerHook.js
1 | |
export const route => getInstance().proxy.$route这样会导致获取不到实例,必须要在setup中调用
更多问题
getCurrentInstance 主要用于需要额外内部访问的官方 vue 库,而不是用于用户态应用程序代码。它被错误地记录在 WIP v3 文档中,但不再被视为公共 API。
getCurrentInstance()最初记录于 2020 年 10 月 4 日,但后来在 Vue 的创建者(Evan You)对 Composition API 文档的重大重构中于2021 年 8 月 31 日删除了该内容。尽管它从文档中删除,getCurrentInstance()但仍然:
鉴于它是一个未记录的内部 API,请谨慎使用。
Vue2.7组合式中使用router3
https://xin-fas.github.io/2023/09/04/Vue2-7组合式中使用router3/