Skip to content

Commit 17e13a8

Browse files
Alex-Sokolovposva
authored andcommitted
[RU] Translation update (#1802)
* navigation-guards.md нумерация версии * history-mode.md правки по IIS * lazy-loading HTTPS * dynamic-mathcing.md HTTPS * getting-started.md HTTPS * navigation.md мелкие правки * nested-routes.md HTTPS * navigation-guards.md правки * history-mode.md кавычки и добавлена секция про Firebase * redirect-and-alias.md добавлено уточнение * SUMMARY.md правка * options.md обновлён пример сигнатуры * getting-started.md добавлены новые правки * navigation-guards.md новые правки * scroll-behavior.md новые правки
1 parent b707352 commit 17e13a8

File tree

5 files changed

+74
-7
lines changed

5 files changed

+74
-7
lines changed

Diff for: docs/ru/SUMMARY.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Vue-router 2
2-
<!--email_off-->
3-
> Примечание: Vue-router@2.x работает только с Vue 2.x. Документация для версии 0.7.x находится [здесь (en)](https://github.com/vuejs/vue-router/tree/1.0/docs/en).
4-
<!--/email_off-->
2+
3+
> Примечание: для пользователей TypeScript, vue-router@>= 3.0 требуется vue@>=2.5, и наоборот.
4+
55
**[История изменений](https://github.com/vuejs/vue-router/releases)**
66

77
- [Введение](README.md)

Diff for: docs/ru/advanced/navigation-guards.md

+22-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,28 @@ beforeRouteEnter (to, from, next) {
115115
}
116116
```
117117

118-
Внутри `beforeRouteLeave` можно обращаться к `this` напрямую. Этот сторожевой хук обычно используется для предотвращения случайного ухода пользователя с пути, содержащего несохранённые отредактированные данные. Переход можно отменить, вызвав `next(false)`.
118+
Обратите внимание, что `beforeRouteEnter` — единственный хук, который поддерживает передачу коллбэка в `next`. Для `beforeRouteUpdate` и `beforeRouteLeave`, `this` уже доступен, поэтому передача коллбэка не требуется и поэтому *не поддерживается*:
119+
120+
```js
121+
beforeRouteUpdate (to, from, next) {
122+
// просто используйте `this`
123+
this.name = to.params.name
124+
next()
125+
}
126+
```
127+
128+
**Сторожевой хук ухода со страницы** обычно используется для предотвращения случайного ухода пользователя со страницы с несохранёнными изменениями. Навигацию можно отменить вызовом `next(false)`.
129+
130+
```js
131+
beforeRouteLeave (to, from , next) {
132+
const answer = window.confirm('Вы действительно хотите уйти? У вас есть несохранённые изменения!')
133+
if (answer) {
134+
next()
135+
} else {
136+
next(false)
137+
}
138+
}
139+
```
119140

120141
### Полная цепочка обработки навигации
121142

Diff for: docs/ru/advanced/scroll-behavior.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
При переходе между страницами в рамках клиентского роутинга, можно сохранять позицию скроллинга для каждой записи в истории (что обычно делают браузеры при работе с традиционными приложениями), или же проматывать страницу вверх. `Vue-router` позволяет использовать оба варианта, и даже более того — позволяет полностью настроить поведение скроллинга при навигации.
44

5-
**Замечание: эта возможность работает только в режиме HTML5 history mode.**
5+
**Замечание: эта возможность работает если браузер поддерживает `history.pushState`.**
66

77
При создании экземпляра роутера, вы можете указать функцию `scrollBehavior`:
88

@@ -60,3 +60,21 @@ scrollBehavior (to, from, savedPosition) {
6060
```
6161

6262
Можно также использовать [метаданные путей](meta.md) для более сложного управления скроллингом. Полная реализация подхода содержится в [этом примере](https://github.com/vuejs/vue-router/blob/dev/examples/scroll-behavior/app.js).
63+
64+
### Асинхронный скроллинг
65+
66+
> Добавлено в версии 2.8.0
67+
68+
Вы также можете вернуть Promise, который разрешится дескриптором с желаемой позицией:
69+
70+
``` js
71+
scrollBehavior (to, from, savedPosition) {
72+
return new Promise((resolve, reject) => {
73+
setTimeout(() => {
74+
resolve({ x: 0, y: 0 })
75+
}, 500)
76+
})
77+
}
78+
```
79+
80+
Это возможно связать с событиями из сменяющегося компонента-страниц, чтобы сделать поведение прокрутки более сочетаемым с вашими анимациями перехода между страницами, но из-за множества возможных вариантов и комплексности примеров, мы просто предоставляем этот просто пример чтобы показать где можно разместить собственную реализацию.

Diff for: docs/ru/api/options.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,16 @@
7474
Сигнатура:
7575

7676
```
77-
(
77+
type PositionDescriptor =
78+
{ x: number, y: number } |
79+
{ selector: string } |
80+
?{}
81+
82+
type scrollBehaviorHandler = (
7883
to: Route,
7984
from: Route,
8085
savedPosition?: { x: number, y: number }
81-
) => { x: number, y: number } | { selector: string } | ?{}
86+
) => PositionDescriptor | Promise<PositionDescriptor>
8287
```
8388

8489
Для подробностей см. [Скроллинг](../advanced/scroll-behavior.md).

Diff for: docs/ru/essentials/getting-started.md

+23
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,29 @@ const app = new Vue({
6363
// Всё, приложение работает! ;)
6464
```
6565

66+
Установив маршрутизатор, мы можем получить к нему доступ через `this.$router`, а также к текущему маршруту через `this.$route` внутри любого компонента:
67+
68+
```js
69+
// Home.vue
70+
export default {
71+
computed: {
72+
username () {
73+
// Мы скоро разберём что такое `params`
74+
return this.$route.params.username
75+
}
76+
},
77+
methods: {
78+
goBack () {
79+
window.history.length > 1
80+
? this.$router.go(-1)
81+
: this.$router.push('/')
82+
}
83+
}
84+
}
85+
```
86+
87+
В документации мы будем часть использовать экземпляр `router` (маршрутизатора). Имейте ввиду, что `this.$router` в точности тоже самое, что и `router`. Причина, по которой мы используем `this.$router` заключается в том, что мы не хотим импортировать маршрутизатор в каждом компонент, в котором потребуется управлять маршрутизацией.
88+
6689
Вживую этот пример доступен [здесь](https://jsfiddle.net/yyx990803/xgrjzsup/).
6790

6891
Обратите внимание, что `<router-link>` автоматически получает класс `.router-link-active` при совпадении пути. Подробнее об этом можно узнать в [справочнике API](../api/router-link.md).

0 commit comments

Comments
 (0)