@0x30/vue-navigation
Version:
103 lines (79 loc) • 1.97 kB
Markdown
## @0x30/vue-navigation
## 安装
```shell
pnpm install @0x30/vue-navigation
```
## 使用
### 初始化
component 方式
```jsx
import { Navigator } from '@0x30/vue-navigation'
createApp(
<Navigator>
<Home />
</Navigator>
).mount('#app')
```
plugin 方式
```jsx
import { navigation } from '@0x30/vue-navigation'
createApp(<Home />)
.use(navigation)
.mount('#app')
```
### 操作方法
```jsx
import { push, replace, to } from '@0x30/vue-navigation'
/**
* 推出 一个 div 到当前之上
*/
push(<div />)
/**
* replace 当前
*/
replace(<div />)
/**
* repace 与 push 的辅助方式
*/
to(true)(<div />)
```
返回
```js
import { back, blackBoxBack, backToHome } from '@0x30/vue-navigation'
/**
* 返回方法
*/
back()
/**
* 黑箱返回
* 当页面前往 一个页面后 可以移除掉一些之前的页面
*
* a -> b -> c -> d
* blackBoxBack(2)
* a -> d
*/
blackBoxBack()
/**
* 回到rootView
*/
backToHome()
```
## hooks 方法
* `onWillAppear` 页面即将出现,执行动画之前
* `onDidAppear` 页面已经出现,执行动画完成
* `onWillDisappear` 页面即将消失,执行动画之前
* `onDidDisappear` 页面已经消失,执行动画完成
* `useTransitionEnter` 进入动画配置
* `useTransitionLeave` 离开动画配置
* `useLeaveBefore` 页面返回之前的拦截方法
* `useQuietPage` 设置当前页面为安静的页面
* `usePageMate` 配置当前页面的 基础信息
* `getCurrentPageMate` 获取当前页面的 配置信息
* `onPageChange` 当前发生变化
* `useProgressExitAnimated` 配置渐进式动画
## 特殊说明
* 此库不是 `router`,只是一种管理组件的方式
* 此库所有页面均活跃,这不是内存泄漏,这符合ios视图导航的设计
* 此库没有路由表,没有嵌套路由
* 此库假定所有的页面组件均为`fixed`,且大小与屏幕一致
* 此库只适用于极小众的项目,比如: 混合开发app内嵌的h5app