Skip to content

Commit af53d1d

Browse files
Alex-Sokolovposva
authored andcommitted
[RU] Updates (vuejs#1564)
* russian translation update v2.5.+ * router-instance.md исправлена опечатка * router-link.md исправление * navigation-guards.md исправлена опечатка * getting-started.md standalone -> полная сборка * data-fetching.md бэктики * lazy-loading.md бэктики * transitions.md бэктики * route-object.md бэктики * router-link.md бэктики * getting-started.md бэктики * history-mode.md добавлен раздел с примером для IIS * router-instance.md добавлено уточнение * lazy-loading.md require -> import * lazy-loading.md новый синтаксис разделения кода * SUMMARY.md правки к 2.6 * scroll-behavior.md обновление к 2.6 * options.md добавления для 2.6 * named-routes.md правка * SUMMARY.md экземпляр * navigation-guards.md экземпляр * scroll-behavior.md экземпляр * component-inhections.md экземпляр * router-instance.md экземпляр * dynamic-matching.md экземпляр * getting-started.md экземпляр * named-routes.md экземпляр * navigation.md экземпляр * data-fetching.md правка * lazy-loading.md merge
1 parent 6b42c4e commit af53d1d

13 files changed

+101
-42
lines changed

docs/ru/SUMMARY.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,19 @@
2424
- [Скроллинг](advanced/scroll-behavior.md)
2525
- [Ленивая загрузка путей](advanced/lazy-loading.md)
2626
- Справочник API
27-
- [router-link](api/router-link.md)
28-
- [router-view](api/router-view.md)
29-
- [Объект route](api/route-object.md)
3027
- [Опции конструктора Router'а](api/options.md)
31-
- [Инстанс Router'а](api/router-instance.md)
28+
- [routes](api/options.md#routes)
29+
- [mode](api/options.md#mode)
30+
- [base](api/options.md#base)
31+
- [linkActiveClass](api/options.md#linkactiveclass)
32+
- [linkExactActiveClass](api/options.md#linkexactactiveclass)
33+
- [scrollBehavior](api/options.md#scrollbehavior)
34+
- [parseQuery / stringifyQuery](api/options.md#parsequery--stringifyquery)
35+
- [fallback](api/options.md#fallback)
36+
- [Экземпляр Router](api/router-instance.md)
37+
- [Свойства](api/router-instance.md#свойства)
38+
- [Методы](api/router-instance.md#методы)
39+
- [Объект route](api/route-object.md)
3240
- [Интеграция с компонентами Vue](api/component-injections.md)
41+
- [router-link](api/router-link.md)
42+
- [router-view](api/router-view.md)

docs/ru/advanced/data-fetching.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
- **Запросив данные после перехода**: сначала перейти к новому пути, затем запросить данные в хуке жизненного цикла целевого компонента. По мере загрузки данных отобразить индикатор состояния загрузки.
66

7-
- **Запросив данные перед переходом**: запросить данные в сторожевом хуке роутера, и завершить навигацию уже по когда они будут получены.
7+
- **Запросив данные перед переходом**: запросить данные в сторожевом хуке роутера, и завершить навигацию уже когда они будут получены.
88

99
С технической точки зрения, оба способа годятся — выбор зависит от того, какой UX вы хотите получить.
1010

@@ -18,7 +18,7 @@
1818
<template>
1919
<div class="post">
2020
<div class="loading" v-if="loading">
21-
Loading...
21+
Загрузка...
2222
</div>
2323

2424
<div v-if="error" class="error">

docs/ru/advanced/lazy-loading.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,26 @@
22

33
При использовании модульного сборщика, результирующая JavaScript-сборка может оказаться довольно большой, что негативно сказывается на времени загрузки страницы. В некоторых случаях было бы эффективнее разделить компоненты каждого пути на отдельные минисборки, и загружать их только при переходе к соответствующему пути.
44

5-
Совместное использование [асинхронной загрузки компонентов](https://ru.vuejs.org/v2/guide/components.html#Асинхронные-компоненты) Vue и [разделения кода](https://webpack.js.org/guides/code-splitting-require/) Webpack делает реализацию ленивой загрузки компонентов в зависимости от путей тривиальной.
5+
Совместное использование [асинхронной загрузки компонентов](https://ru.vuejs.org/v2/guide/components.html#Асинхронные-компоненты) Vue и [разделения кода](https://webpack.js.org/guides/code-splitting-async/) Webpack делает реализацию ленивой загрузки компонентов в зависимости от путей тривиальной.
66

7-
Всё, что требуется — определить компоненты путей как асинхронные:
7+
Во-первых, асинхронный компонент можно определить как функцию-фабрику, которая возвращает Promise (который должен разрешиться самим компонентом):
88

99
``` js
10-
const Foo = resolve => {
11-
// `require.ensure` — это специальный синтаксис Webpack'а для определения точки разделения кода.
12-
require.ensure(['./Foo.vue'], () => {
13-
resolve(require('./Foo.vue'))
14-
})
15-
}
10+
const Foo = () => Promise.resolve({ /* определение компонента */ })
1611
```
1712

18-
Можно также упростить запись, используя альтернативный синтаксис разделения кода AMD:
13+
Во-вторых, в Webpack 2 мы можем использовать синтаксис [динамических импортов](https://github.com/tc39/proposal-dynamic-import) для указания точек разделения кода:
1914

2015
``` js
21-
const Foo = resolve => require(['./Foo.vue'], resolve)
16+
import('./Foo.vue') // возвращает Promise
17+
```
18+
19+
> Примечание: если вы используете Babel, то нужно будет добавить плагин [syntax-dynamic-import](http://babeljs.io/docs/plugins/syntax-dynamic-import/), чтобы Babel смог корректно обработать синтаксис.
20+
21+
Эти два пункта — всё необходимое, чтобы определить асинхронный компонент, который Webpack автоматически вынесет в отдельный чанк:
22+
23+
``` js
24+
const Foo = () => import('./Foo.vue')
2225
```
2326

2427
В конфигурации путей ничего менять не нужно, просто используйте `Foo` как обычно:
@@ -33,12 +36,12 @@ const router = new VueRouter({
3336

3437
### Объединение компонентов в единую минисборку
3538

36-
Иногда может понадобиться объединить в единую минисборку все компоненты, расположенные по определённому пути. Для достижения этой цели можно использовать [именованные минисборки Webpack](https://webpack.js.org/guides/code-splitting-require/#chunkname), указывая имя как третий параметр при вызове `require.ensure`:
39+
Иногда может понадобиться объединить в единую минисборку все компоненты, расположенные по определённому пути. Для достижения этой цели можно использовать [именованные минисборки Webpack](https://webpack.js.org/guides/code-splitting-async/#chunk-names), указывая имя используя специальный синтаксис комментариев (в версиях Webpack > 2.4):
3740

3841
``` js
39-
const Foo = r => require.ensure([], () => r(require('./Foo.vue')), 'group-foo')
40-
const Bar = r => require.ensure([], () => r(require('./Bar.vue')), 'group-foo')
41-
const Baz = r => require.ensure([], () => r(require('./Baz.vue')), 'group-foo')
42+
const Foo = () => import(/* webpackChunkName: "group-foo" */ './Foo.vue')
43+
const Bar = () => import(/* webpackChunkName: "group-foo" */ './Bar.vue')
44+
const Baz = () => import(/* webpackChunkName: "group-foo" */ './Baz.vue')
4245
```
4346

44-
Webpack сгруппирует все одноимённые асинхронные модули в единую минисборку — что среди прочего будет означать отсутствие необходимости явно указывать зависимости для `require.ensure` (поэтому мы и передаём первым параметром пустой массив).
47+
Webpack сгруппирует все одноимённые асинхронные модули в единую минисборку.

docs/ru/advanced/navigation-guards.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ const Foo = {
8585
template: `...`,
8686
beforeRouteEnter (to, from, next) {
8787
// вызывается до подтверждения пути, соответствующего этому компоненту.
88-
// НЕ имеет доступа к контексту инстанса компонента `this`,
89-
// так как к моменту вызова инстанс ещё не создан!
88+
// НЕ имеет доступа к контексту экземпляра компонента `this`,
89+
// так как к моменту вызова экземпляр ещё не создан!
9090
},
9191
beforeRouteUpdate (to, from, next) {
9292
// вызывается когда маршрут, что рендерит этот компонент изменился,
@@ -98,19 +98,19 @@ const Foo = {
9898
},
9999
beforeRouteLeave (to, from, next) {
100100
// вызывается перед переходом от пути, соответствующего текущему компоненту;
101-
// имеет доступ к контексту инстанса компонента `this`.
101+
// имеет доступ к контексту экземпляра компонента `this`.
102102
}
103103
}
104104
```
105105

106-
Хук `beforeRouteEnter` **НЕ** имеет доступа к `this`, так как к моменту его вызова навигация ещё не подтверждена, а значит и инстанс компонента ещё не создан.
106+
Хук `beforeRouteEnter` **НЕ** имеет доступа к `this`, так как к моменту его вызова навигация ещё не подтверждена, а значит и экземпляр компонента ещё не создан.
107107

108-
Тем не менее, доступ к инстансу можно получить, передав коллбэк в `next`. Эта функция будет вызвана после подтверждения навигации, а экземпляр компонента будет передан в неё в качестве параметра:
108+
Тем не менее, доступ к экземпляру можно получить, передав коллбэк в `next`. Эта функция будет вызвана после подтверждения навигации, а экземпляр компонента будет передан в неё в качестве параметра:
109109

110110
``` js
111111
beforeRouteEnter (to, from, next) {
112112
next(vm => {
113-
// инстанс компонента доступен как `vm`
113+
// экземпляр компонента доступен как `vm`
114114
})
115115
}
116116
```

docs/ru/advanced/scroll-behavior.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
**Замечание: эта возможность работает только в режиме HTML5 history mode.**
66

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

99
``` js
1010
const router = new VueRouter({
@@ -20,7 +20,7 @@ const router = new VueRouter({
2020
Функция возвращает объект позиции скролла. Он может иметь одну из двух форм:
2121

2222
- `{ x: number, y: number }`
23-
- `{ selector: string }`
23+
- `{ selector: string, offset? : { x: number, y: number }}` (offset поддерживается только в 2.6.0+)
2424

2525
Если возвращается пустой объект или приводимое к ложному значение, скроллинга не произойдёт.
2626

@@ -53,6 +53,7 @@ scrollBehavior (to, from, savedPosition) {
5353
if (to.hash) {
5454
return {
5555
selector: to.hash
56+
// , offset: { x: 0, y: 10 }
5657
}
5758
}
5859
}

docs/ru/api/component-injections.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
### Добавляемые свойства
44

5-
Перечисленные ниже свойства становятся доступными в каждом дочернем компоненте при передаче роутера через опцию `router` корневого инстанса приложения.
5+
Перечисленные ниже свойства становятся доступными в каждом дочернем компоненте при передаче роутера через опцию `router` корневого экземпляра приложения.
66

77
- #### $router
88

9-
Инстанс роутера.
9+
Экземпляр роутера.
1010

1111
- #### $route
1212

docs/ru/api/options.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
children?: Array<RouteConfig>; // для вложенных путей
1919
beforeEnter?: (to: Route, from: Route, next: Function) => void;
2020
meta?: any;
21+
22+
// 2.6.0+
23+
caseSensitive?: boolean; // учитывать ли регистр при сравнении? (по умолчанию: false)
24+
pathToRegexpOptions?: Object; // настройки path-to-regexp для компиляции regex
2125
}
2226
```
2327

@@ -85,4 +89,14 @@
8589
8690
- Тип: `Function`
8791

88-
Пользовательские функции для парсинга строки запроса / приведения к строке запроса (функции stringify). Переопределяют значения по умолчанию.
92+
Пользовательские функции для парсинга строки запроса / приведения к строке запроса (функции stringify). Переопределяют значения по умолчанию.
93+
94+
### fallback
95+
96+
> 2.6.0+
97+
98+
- Тип: `boolean`
99+
100+
Контролирует, должен ли маршрутизатор возвращаться в режим `hash`, когда браузер не поддерживает `history.pushState`. По умолчанию значение `true`.
101+
102+
Установка этого параметра в `false` будет вызывать для каждой навигации через `router-link` полное обновление страницы в IE9. Это может быть полезным, когда приложение рендерится на стороне сервера и должно работать в IE9, потому что режим `hash` не работает с SSR.

docs/ru/api/router-instance.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# Инстанс Router
1+
# Экземпляр Router
22

33
### Свойства
44

55
#### router.app
66

77
- тип: `Vue instance`
88

9-
Корневой инстанс Vue, в который был интегрирован `router`.
9+
Корневой экземпляр Vue, в который был интегрирован `router`.
1010

1111
#### router.mode
1212

@@ -40,7 +40,7 @@
4040

4141
- **router.getMatchedComponents(location?)**
4242

43-
Возвращает массив компонентов (определение/конструктор, не инстансы), совпадающих с текущим путём. В основном используется во время рендеринга на сервере для получения необходимых данных.
43+
Возвращает массив компонентов (определение/конструктор, не экземпляры), совпадающих с текущим путём. В основном используется во время рендеринга на сервере для получения необходимых данных.
4444

4545
- **router.resolve(location, current?, append?)**
4646

@@ -56,6 +56,9 @@
5656
}
5757
```
5858

59+
- `current` — текущий маршрут по умолчанию (в большинстве случаем вам не нужно это изменять)
60+
- `append` — позволяет вам добавить путь к маршруту `current` (например, с помощью [`router-link`](router-link.md#props))
61+
5962
- **router.addRoutes(routes)**
6063

6164
> 2.2.0+

docs/ru/essentials/dynamic-matching.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const User = {
3838

3939
### Отслеживание изменений параметров
4040

41-
Важно отметить, что при переходе от `/user/foo` к `/user/bar` **будет повторно использован тот же самый инстанс компонента**. Поскольку оба пути указывают на один и тот же компонент, этот подход эффективнее, чем уничтожение и повторное создание инстанса. **Но это означает, что хуки жизненного цикла компонента при этом вызваны не будут**.
41+
Важно отметить, что при переходе от `/user/foo` к `/user/bar` **будет повторно использован тот же самый экземпляр компонента**. Поскольку оба пути указывают на один и тот же компонент, этот подход эффективнее, чем уничтожение и повторное создание экземпляра. **Но это означает, что хуки жизненного цикла компонента при этом вызваны не будут**.
4242

4343
Чтобы отследить изменения параметров пути в рамках компонента, нужно просто установить наблюдение за объектом `$route`:
4444

docs/ru/essentials/getting-started.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ const routes = [
4747
{ path: '/bar', component: Bar }
4848
]
4949

50-
// 3. Создаём инстанс роутера с опцией `routes`
50+
// 3. Создаём экземпляр роутера с опцией `routes`
5151
// Можно передать и другие опции, но пока не будем усложнять
5252
const router = new VueRouter({
5353
routes // сокращение от `routes: routes`
5454
})
5555

56-
// 4. Создаём и монтируем корневой инстанс Vue нашего приложения.
57-
// Удостоверьтесь, что передали инстанс роутера в опции `router`,
56+
// 4. Создаём и монтируем корневой экземпляр Vue нашего приложения.
57+
// Удостоверьтесь, что передали экземпляр роутера в опции `router`,
5858
// что позволит приложению знать о его наличии
5959
const app = new Vue({
6060
router

0 commit comments

Comments
 (0)