From 094d23a3bc6f37eb35d5b0d5001f7e129725ca2f Mon Sep 17 00:00:00 2001 From: hukai Date: Wed, 13 Jan 2021 14:04:44 +0800 Subject: [PATCH 1/5] docs(zh): update add note about push expose START_LOCATION addRoute, getRoutes --- docs/zh/api/README.md | 54 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/zh/api/README.md b/docs/zh/api/README.md index 94c64cc40..3746504e9 100644 --- a/docs/zh/api/README.md +++ b/docs/zh/api/README.md @@ -321,6 +321,26 @@ sidebar: auto 当前路由对应的[路由信息对象](#路由对象)。 +### router.START_LOCATION + +- 类型: `Route` + + 初始路由地址,表示路由开始的[路由信息对象](#路由对象)。可用在导航守卫以区分初始导航。 + + ```js + import Router from 'vue-router' + + const router = new Router({ + // ... + }) + + router.beforeEach((to, from) => { + if (from === START_LOCATION) { + // 初始导航 + } + }) + ``` + ## Router 实例方法 ### router.beforeEach @@ -371,6 +391,8 @@ router.forward() 动态的导航到一个新 URL。参考[编程式导航](../guide/essentials/navigation.md)。 +这些函数仅在安装路由插件并将其传递给 Vue 根实例后调用,如[起步](../guide/README.md)所示。 + ### router.getMatchedComponents 函数签名: @@ -400,6 +422,8 @@ const resolved: { ### router.addRoutes +_废弃_: 使用 [`route.addRoute()`](#router-addroute) 代替。 + 函数签名: ```js @@ -408,6 +432,36 @@ router.addRoutes(routes: Array) 动态添加更多的路由规则。参数必须是一个符合 `routes` 选项要求的数组。 +### router.addRoute + +添加一条新路由规则。如果该路由规则有 `name`,并且已经存在一个与之相同的名字,则会覆盖它。 + +函数签名: + +```ts +addRoute(route: RouteConfig): () => void +``` + +### router.addRoute + +添加一条新的路由规则记录作为现有路由的子路由。如果该路由规则有 `name`,并且已经存在一个与之相同的名字,则会覆盖它。 + +函数签名: + +```ts +addRoute(parentName: string, route: RouteConfig): () => void +``` + +### router.getRoutes + +获取所有激活的路由记录列表。**注意只有记录的属性才被视为公共 API**,避免使用任何其他属性,例如 `regex`,因为它在 Vue Router 4 中不存在。 + +函数签名: + +```ts +getRoutes(): RouteRecord[] +``` + ### router.onReady 函数签名: From 1785bc7b25ba6591dcd1e9f9c3ac59b8ca240b66 Mon Sep 17 00:00:00 2001 From: hukai Date: Wed, 13 Jan 2021 14:49:35 +0800 Subject: [PATCH 2/5] update --- docs/zh/api/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/api/README.md b/docs/zh/api/README.md index 3746504e9..311809738 100644 --- a/docs/zh/api/README.md +++ b/docs/zh/api/README.md @@ -422,7 +422,7 @@ const resolved: { ### router.addRoutes -_废弃_: 使用 [`route.addRoute()`](#router-addroute) 代替。 +*废弃*: 使用 [`route.addRoute()`](#router-addroute) 代替。 函数签名: From df7208195c712857c81943437106266bc7cf0fb8 Mon Sep 17 00:00:00 2001 From: hukai Date: Wed, 13 Jan 2021 15:02:36 +0800 Subject: [PATCH 3/5] docs(zh): translate 'feels natural' --- docs/zh/guide/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/guide/README.md b/docs/zh/guide/README.md index 05134397e..095c439bc 100644 --- a/docs/zh/guide/README.md +++ b/docs/zh/guide/README.md @@ -8,7 +8,7 @@ -用 Vue.js + Vue Router 创建单页应用,是非常简单的。使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 Vue Router 添加进来,我们需要做的是,将组件 (components) 映射到路由 (routes),然后告诉 Vue Router 在哪里渲染它们。下面是个基本例子: +用 Vue.js + Vue Router 创建单页应用,感觉很自然:使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 Vue Router 添加进来,我们需要做的是,将组件 (components) 映射到路由 (routes),然后告诉 Vue Router 在哪里渲染它们。下面是个基本例子: ## HTML From aef1cca3905777ed7e3b2eee045849f15b2b3636 Mon Sep 17 00:00:00 2001 From: hukai Date: Wed, 13 Jan 2021 15:17:48 +0800 Subject: [PATCH 4/5] docs(zh): translate 'Smooth Scrolling' --- docs/zh/guide/advanced/scroll-behavior.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/zh/guide/advanced/scroll-behavior.md b/docs/zh/guide/advanced/scroll-behavior.md index c354ff419..17eb4681e 100644 --- a/docs/zh/guide/advanced/scroll-behavior.md +++ b/docs/zh/guide/advanced/scroll-behavior.md @@ -79,3 +79,18 @@ scrollBehavior (to, from, savedPosition) { ``` 将其挂载到从页面级别的过渡组件的事件上,令其滚动行为和页面过渡一起良好运行是可能的。但是考虑到用例的多样性和复杂性,我们仅提供这个原始的接口,以支持不同用户场景的具体实现。 + +## 平滑滚动 + +只需将 `behavior` 选项添加到 `scrollBehavior` 内部返回的对象中,就可以为[支持它的浏览器](https://developer.mozilla.org/en-US/docs/Web/API/ScrollToOptions/behavior)启用原生平滑滚动: + +```js +scrollBehavior (to, from, savedPosition) { + if (to.hash) { + return { + selector: to.hash, + behavior: 'smooth', + } + } +} +``` From 82f749d7d2b7076ef892ae4384a309f49a3fbd6d Mon Sep 17 00:00:00 2001 From: hukai Date: Mon, 18 Jan 2021 09:52:41 +0800 Subject: [PATCH 5/5] docs(zh): update --- docs/zh/api/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/zh/api/README.md b/docs/zh/api/README.md index 311809738..561796df5 100644 --- a/docs/zh/api/README.md +++ b/docs/zh/api/README.md @@ -323,9 +323,9 @@ sidebar: auto ### router.START_LOCATION -- 类型: `Route` +- 类型:`Route` - 初始路由地址,表示路由开始的[路由信息对象](#路由对象)。可用在导航守卫以区分初始导航。 + 以[路由对象](#路由对象)的格式展示初始路由地址,即路由开始的地方。可用在导航守卫中以区分初始导航。 ```js import Router from 'vue-router' @@ -422,7 +422,7 @@ const resolved: { ### router.addRoutes -*废弃*: 使用 [`route.addRoute()`](#router-addroute) 代替。 +*已废弃*:使用 [`route.addRoute()`](#router-addroute) 代替。 函数签名: @@ -454,7 +454,7 @@ addRoute(parentName: string, route: RouteConfig): () => void ### router.getRoutes -获取所有激活的路由记录列表。**注意只有记录的属性才被视为公共 API**,避免使用任何其他属性,例如 `regex`,因为它在 Vue Router 4 中不存在。 +获取所有活跃的路由记录列表。**注意只有文档中记录下来的 property 才被视为公共 API**,避免使用任何其它 property,例如 `regex`,因为它在 Vue Router 4 中不存在。 函数签名: