From 3b4ec3cee288ef6f385045bb65661f9520a099bc Mon Sep 17 00:00:00 2001 From: Alexander Sokolov Date: Thu, 28 Nov 2019 00:47:24 +0300 Subject: [PATCH] docs(ru): Translation update (#3044) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: [RU] Translation update * README.md обновление * navigation.md fix * consistent code blocks * dynamic-matching.md add new section * dynamic-matching.md fix * navigation-guards.md fix title * data-fetching.md fix * README.md fix * (docs) [RU] Translation update * fix typo * navigation-guards.md update * redirect-and-alias.md update * change '$route' to $route * date-fetching.md formatting * histort-mode.md update * navigation-guards.md update * navigation-guards.md update --- docs/ru/guide/advanced/data-fetching.md | 8 +++---- docs/ru/guide/advanced/navigation-guards.md | 21 +++++++++++++++++-- docs/ru/guide/advanced/transitions.md | 2 +- docs/ru/guide/essentials/dynamic-matching.md | 2 +- docs/ru/guide/essentials/history-mode.md | 2 ++ .../ru/guide/essentials/redirect-and-alias.md | 2 +- 6 files changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/ru/guide/advanced/data-fetching.md b/docs/ru/guide/advanced/data-fetching.md index b8786bc44..c0582cd04 100644 --- a/docs/ru/guide/advanced/data-fetching.md +++ b/docs/ru/guide/advanced/data-fetching.md @@ -35,24 +35,24 @@ ```js export default { - data () { + data() { return { loading: false, post: null, error: null } }, - created () { + created() { // загружаем данные, когда представление создано // и данные реактивно отслеживаются this.fetchData() }, watch: { // при изменениях маршрута запрашиваем данные снова - '$route': 'fetchData' + $route: 'fetchData' }, methods: { - fetchData () { + fetchData() { this.error = this.post = null this.loading = true // замените `getPost` используемым методом получения данных / доступа к API diff --git a/docs/ru/guide/advanced/navigation-guards.md b/docs/ru/guide/advanced/navigation-guards.md index f0ccf8adb..e5555d2e3 100644 --- a/docs/ru/guide/advanced/navigation-guards.md +++ b/docs/ru/guide/advanced/navigation-guards.md @@ -34,7 +34,24 @@ router.beforeEach((to, from, next) => { - **`next(error)`**: (добавлено в версии 2.4.0+) если аргумент, переданный `next` является экземпляром `Error`, навигация будет прервана и ошибка будет передана в коллбэк, зарегистрированный через [`router.onError()`](../../api/#router-onerror). -**Убедитесь, что функция `next` будет вызвана, иначе хук никогда не будет разрешён.** +**Убедитесь, что функция `next` будет вызываться в навигационном хуке только 1 раз в любом случае. Вызовы могут встречаться несколько раз, но важно чтобы они не пересекались логически, иначе хук никогда не разрешится или выдаст ошибки.** Вот пример перенаправления пользователя на страницу `/login` если он не авторизован: + +```js +// ПЛОХО +router.beforeEach((to, from, next) => { + if (!isAuthenticated) next('/login') + // если пользователь не авторизован, то `next` будет вызываться дважды + next() +}) +``` + +```js +// ХОРОШО +router.beforeEach((to, from, next) => { + if (!isAuthenticated) next('/login') + else next() +}) +``` ## Глобальные хуки разрешения перехода @@ -139,7 +156,7 @@ beforeRouteLeave (to, from, next) { ## Полная цепочка обработки навигации 1. Срабатывание навигации. -2. Вызов leave-хуков в деактивируемых компонентах. +2. Вызов `beforeRouteLeave` хуков в деактивируемых компонентах. 3. Вызов глобальных `beforeEach` хуков. 4. Вызов `beforeRouteUpdate` хука в переиспользуемых компонентах. 5. Вызов `beforeEnter` в конфигурации маршрута. diff --git a/docs/ru/guide/advanced/transitions.md b/docs/ru/guide/advanced/transitions.md index b88bb068c..1adf3cf2a 100644 --- a/docs/ru/guide/advanced/transitions.md +++ b/docs/ru/guide/advanced/transitions.md @@ -47,7 +47,7 @@ const Bar = { // затем, в родительском компоненте, будем следить за переменной `$route`, // чтобы определить, какой анимационный переход применять watch: { - '$route' (to, from) { + $route(to, from) { const toDepth = to.path.split('/').length const fromDepth = from.path.split('/').length this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left' diff --git a/docs/ru/guide/essentials/dynamic-matching.md b/docs/ru/guide/essentials/dynamic-matching.md index f0f0e76ca..3e86a5925 100644 --- a/docs/ru/guide/essentials/dynamic-matching.md +++ b/docs/ru/guide/essentials/dynamic-matching.md @@ -46,7 +46,7 @@ const User = { const User = { template: '...', watch: { - '$route' (to, from) { + $route(to, from) { // обрабатываем изменение параметров маршрута... } } diff --git a/docs/ru/guide/essentials/history-mode.md b/docs/ru/guide/essentials/history-mode.md index 1128c3b79..0f42bf028 100644 --- a/docs/ru/guide/essentials/history-mode.md +++ b/docs/ru/guide/essentials/history-mode.md @@ -19,6 +19,8 @@ const router = new VueRouter({ ## Примеры конфигурирования серверов +**Примечание**: В примерах ниже предполагается, что приложение публикуется в корневой каталог. При необходимости публикации во вложенный каталог нужно определить [опцию `publicPath` в Vue CLI](https://cli.vuejs.org/ru/config/#publicpath) и соответствующее [свойство маршрутизатора `base`](../../api/#base). Также необходимо внести изменения в примерах ниже чтобы использовать вложенный каталог вместо корневого (например, заменить `RewriteBase /` на `RewriteBase /name-of-your-subfolder/`). + #### Apache ```apache diff --git a/docs/ru/guide/essentials/redirect-and-alias.md b/docs/ru/guide/essentials/redirect-and-alias.md index bcd7c5758..630b82ae0 100644 --- a/docs/ru/guide/essentials/redirect-and-alias.md +++ b/docs/ru/guide/essentials/redirect-and-alias.md @@ -35,7 +35,7 @@ const router = new VueRouter({ }) ``` -Обратите внимание, что [навигационные хуки](../advanced/navigation-guards.md) не применяются на маршруте, который служит для перенаправления, только на его цель. В приведённом ниже примере добавление хуков `beforeEnter` или `beforeLeave` на маршрут `/a` не будет иметь никакого эффекта. +Обратите внимание, что [навигационные хуки](../advanced/navigation-guards.md) не применяются на маршруте, который служит для перенаправления, только на его цель. В приведённом ниже примере добавление хуков `beforeEnter` на маршрут `/a` не будет иметь никакого эффекта. Для демонстрации более сложных возможностей, обратите внимание на [этот пример](https://github.com/vuejs/vue-router/blob/dev/examples/redirect/app.js).