@viewfly/router 3.0.0-alpha.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/dist/hooks/_api.d.ts +1 -0
- package/dist/hooks/use-params.d.ts +2 -0
- package/dist/index.esm.js +526 -105
- package/dist/index.js +525 -102
- package/dist/link.d.ts +1 -1
- package/dist/providers/_api.d.ts +1 -0
- package/dist/providers/navigator.d.ts +23 -9
- package/dist/providers/query-encoding.d.ts +3 -0
- package/dist/providers/router.d.ts +29 -13
- package/dist/providers/routes.d.ts +32 -0
- package/dist/providers/url-parser.d.ts +1 -1
- package/dist/router-module.d.ts +8 -2
- package/dist/router-outlet.d.ts +1 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
## 安装
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
npm install @viewfly/router @viewfly/platform-browser @viewfly/core
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
---
|
|
@@ -16,7 +16,7 @@ pnpm add @viewfly/router @viewfly/platform-browser @viewfly/core
|
|
|
16
16
|
|
|
17
17
|
1. 使用 **`RouterModule`** 作为应用级扩展(通过 `createApp(...).use(...)` 注册)。
|
|
18
18
|
2. 在布局中用 **`Link`** 生成导航,用 **`RouterOutlet`** 根据配置渲染匹配到的组件。
|
|
19
|
-
3. 在组件内通过 **`inject(Router)`** 拿到路由实例,调用 **`navigateTo`**
|
|
19
|
+
3. 在组件内通过 **`inject(Router)`** 拿到路由实例,调用 **`navigateTo(path, queryParams?, hash?)`** / **`replaceTo`** 做跳转(第二参为查询对象,与 path 上的 **`Router.params`** / **`useParams()`** 区分)。
|
|
20
20
|
|
|
21
21
|
最小串联示例(节选;完整路由表、懒加载等请结合类型定义与本包源码中的 `RouterModule` / `RouterOutlet` 用法扩展):
|
|
22
22
|
|
|
@@ -46,21 +46,20 @@ function App() {
|
|
|
46
46
|
<Link active="active" exact to="/">Home</Link>
|
|
47
47
|
<Link active="active" to="/list">List</Link>
|
|
48
48
|
</nav>
|
|
49
|
-
<RouterOutlet
|
|
50
|
-
config={[
|
|
51
|
-
{ name: 'home', component: Home },
|
|
52
|
-
{ name: 'list', component: List }
|
|
53
|
-
]}
|
|
54
|
-
>
|
|
49
|
+
<RouterOutlet>
|
|
55
50
|
未匹配到路由
|
|
56
51
|
</RouterOutlet>
|
|
57
52
|
</div>
|
|
58
53
|
)
|
|
59
54
|
}
|
|
60
55
|
|
|
61
|
-
createApp(<App
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
createApp(<App/>).use(new RouterModule({
|
|
57
|
+
routes: [
|
|
58
|
+
{ path: '', component: Home },
|
|
59
|
+
{ path: 'list', component: List }
|
|
60
|
+
]
|
|
61
|
+
})).mount(document.querySelector('#main')!)
|
|
62
|
+
|
|
64
63
|
```
|
|
65
64
|
|
|
66
65
|
**嵌套路由**:在子页面组件内再次放置 `RouterOutlet`,并为其传入子级 `config`。
|
|
@@ -69,7 +68,8 @@ createApp(<App />)
|
|
|
69
68
|
|
|
70
69
|
## 文档
|
|
71
70
|
|
|
72
|
-
-
|
|
71
|
+
- 官方文档:<https://viewfly.org/guide/router>(路由接入与常见用法)。
|
|
72
|
+
- **`@viewfly/router`** 类型定义(补充 API 参数与返回值细节)。
|
|
73
73
|
|
|
74
74
|
---
|
|
75
75
|
|
package/dist/hooks/_api.d.ts
CHANGED