Skip to content

docs: [RU] Translation update #2879

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Aug 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
fa9c9f0
docs: [RU] Translation update
Alex-Sokolov Aug 14, 2018
24c1eda
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Nov 12, 2018
2a85f36
README.md обновление
Alex-Sokolov Nov 12, 2018
1223d3a
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Nov 28, 2018
6973332
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Dec 7, 2018
ee6c9cb
navigation.md fix
Alex-Sokolov Dec 7, 2018
0b84042
consistent code blocks
Alex-Sokolov Dec 7, 2018
5cade4f
dynamic-matching.md add new section
Alex-Sokolov Dec 7, 2018
ca5e39f
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Jan 9, 2019
2d6ade3
dynamic-matching.md fix
Alex-Sokolov Jan 9, 2019
e55f29b
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Jan 27, 2019
7c18acb
navigation-guards.md fix title
Alex-Sokolov Jan 27, 2019
351b216
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Feb 9, 2019
40c4871
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov May 6, 2019
12c0033
data-fetching.md fix
Alex-Sokolov May 6, 2019
5f10d9d
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Jul 4, 2019
5f9b925
README.md fix
Alex-Sokolov Jul 26, 2019
2476122
Merge remote-tracking branch 'upstream/dev' into ru-translation
Alex-Sokolov Aug 8, 2019
3421e00
(docs) [RU] Translation update
Alex-Sokolov Aug 8, 2019
7b6b02a
fix typo
Alex-Sokolov Aug 8, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/guide/essentials/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ router.push({ path: '/user', params: { userId } }) // -> /user
The same rules apply for the `to` property of the `router-link` component.

In 2.2.0+, optionally provide `onComplete` and `onAbort` callbacks to `router.push` or `router.replace` as the 2nd and 3rd arguments. These callbacks will be called when the navigation either successfully completed (after all async hooks are resolved), or aborted (navigated to the same route, or to a different route before current navigation has finished), respectively.
In 3.1.0+, you can ommit the 2nd and 3rd parameter and `router.push`/`router.replace` will return a promise instead if Promises are supported.
In 3.1.0+, you can omit the 2nd and 3rd parameter and `router.push`/`router.replace` will return a promise instead if Promises are supported.

**Note:** If the destination is the same as the current route and only params are changing (e.g. going from one profile to another `/users/1` -> `/users/2`), you will have to use [`beforeRouteUpdate`](./dynamic-matching.md#reacting-to-params-changes) to react to changes (e.g. fetching the user information).

Expand Down
110 changes: 76 additions & 34 deletions docs/ru/api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,52 @@ sidebar: auto
`<router-link>` предпочтительнее `<a href="...">` по следующим причинам:

- Он работает одинаково вне зависимости от режима работы (HTML5 history или хэш), поэтому если вы решите переключить режим, или маршрутизатор для совместимости переключится обратно в режим хэша в IE9, ничего не потребуется изменять.

- В режиме HTML5 history, `router-link` будет перехватывать событие click, чтобы браузер не пытался перезагрузить страницу.

- При использовании опции `base` в режиме работы HTML5 history, вам не потребуется добавлять её в URL входного параметра `to`.

### Применение активного класса к внешнему элементу
### `v-slot` API (3.1.0+)

`router-link` предоставляет возможность более низкоуровневой настройки с помощью [слота с ограниченной областью видимости](https://ru.vuejs.org/v2/guide/components-slots.html#%D0%A1%D0%BB%D0%BE%D1%82%D1%8B-%D1%81-%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9-%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C%D1%8E-%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8). Это более продвинутое API ориентировано в первую очередь на создателей библиотек, но может пригодиться и разработчикам, к примеру для создании пользовательских компонентов таких как _NavLink_ или подобных.

Иногда может потребоваться применять активный класс к внешнему элементу, а не к тегу `<a>`, в этом случае можно отобразить внешний элемент с помощью `<router-link>` и обернуть содержимое тегом `<a>` внутри:
**При использовании API `v-slot` необходимо передавать один дочерний элемент в `router-link`**. Если этого не сделать, `router-link` обернёт все дочерние элементы в `span`.

```html
<router-link tag="li" to="/foo">
<a>/foo</a>
<router-link
to="/about"
v-slot="{ href, route, navigate, isActive, isExactActive }"
>
<NavLink :active="isActive" :href="href" @click="navigate">
{{ route.fullPath }}
</NavLink>
</router-link>
```

В этом случае `<a>` будет фактической ссылкой (и получит правильный `href`), но активный класс будет применён к внешнему `<li>`.
- `href`: разрешённый URL. Это будет атрибутом `href` для элемента `a`
- `route`: разрешённый нормализованный маршрут
- `navigate`: функция для запуска навигации. **Она автоматически предотвращает события, когда это необходимо**, аналогичным способом, как это делает `router-link`
- `isActive`: `true` если [активный класс](#active-class) должен применяться. Позволяет применить произвольный класс
- `isExactActive`: `true` если [активный класс при точном совпадении пути](#exact-active-class) должен применяться. Позволяет применить произвольный класс

### Пример: Добавление активного класса к внешнему элементу

Иногда может потребоваться применять активный класс к внешнему элементу, а не к тегу `<a>`, в этом случае можно обернуть этот элемент в `<router-link>` и использовать свойства `v-slot` для создания ссылки:

```html
<router-link
to="/foo"
v-slot="{ href, route, navigate, isActive, isExactActive }"
>
<li
:class="[isActive && 'router-link-active', isExactActive && 'router-link-exact-active']"
>
<a :href="href" @click="navigate">{{ route.fullPath }}</a>
</li>
</router-link>
```

:::tip ПРИМЕЧАНИЕ
При добавлении `target="_blank"` на элемент `a`, необходимо опустить обработчик `@click="navigate"`.
:::

## Входные параметры `<router-link>`

Expand Down Expand Up @@ -58,7 +88,9 @@ sidebar: auto
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>

<!-- с использованием query-строки, получим `/register?plan=private` -->
<router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
<router-link :to="{ path: 'register', query: { plan: 'private' }}">
Регистрация
</router-link>
```

### replace
Expand Down Expand Up @@ -114,7 +146,7 @@ sidebar: auto

```html
<!-- эта ссылка будет активной только для адреса `/` -->
<router-link to="/" exact>
<router-link to="/" exact></router-link>
```

Ознакомьтесь с другими примерами активных классов ссылок [вживую](https://jsfiddle.net/8xrk1n9f/).
Expand Down Expand Up @@ -166,22 +198,22 @@ sidebar: auto

Декларация типа для `RouteConfig`:

```js
declare type RouteConfig = {
path: string;
component?: Component;
name?: string; // для именованных маршрутов
components?: { [name: string]: Component }; // для именованных представлений
redirect?: string | Location | Function;
props?: boolean | Object | Function;
alias?: string | Array<string>;
children?: Array<RouteConfig>; // для вложенных маршрутов
beforeEnter?: (to: Route, from: Route, next: Function) => void;
meta?: any;
```ts
interface RouteConfig = {
path: string,
component?: Component,
name?: string, // для именованных маршрутов
components?: { [name: string]: Component }, // для именованных представлений
redirect?: string | Location | Function,
props?: boolean | Object | Function,
alias?: string | Array<string>,
children?: Array<RouteConfig>, // для вложенных маршрутов
beforeEnter?: (to: Route, from: Route, next: Function) => void,
meta?: any,

// Добавлено в версии 2.6.0+
caseSensitive?: boolean; // учитывать регистр при сравнении? (по умолчанию: false)
pathToRegexpOptions?: Object; // настройки path-to-regexp для компиляции regex
caseSensitive?: boolean, // учитывать регистр при сравнении? (по умолчанию: false)
pathToRegexpOptions?: Object // настройки path-to-regexp для компиляции regex
}
```

Expand Down Expand Up @@ -285,7 +317,9 @@ sidebar: auto
## Методы экземпляра Router

### router.beforeEach

### router.beforeResolve

### router.afterEach

Сигнатуры:
Expand All @@ -307,16 +341,22 @@ router.afterEach((to, from) => {})
Все три метода возвращают функцию для удаления зарегистрированного хука.

### router.push

### router.replace

### router.go

### router.back

### router.forward

Сигнатуры:

```js
router.push(location, onComplete?, onAbort?)
router.push(location).then(onComplete).catch(onAbort)
router.replace(location, onComplete?, onAbort?)
router.replace(location).then(onComplete).catch(onAbort)
router.go(n)
router.back()
router.forward()
Expand Down Expand Up @@ -425,37 +465,37 @@ router.onError(callback)

### Свойства объекта Route

- **$route.path**
- **\$route.path**

- тип: `string`

Строка пути текущего маршрута, всегда в абсолютном формате, например `"/foo/bar"`.

- **$route.params**
- **\$route.params**

- тип: `Object`

Объект, который содержит пары ключ/значение динамических сегментов маршрута (включая *-сегменты). Если параметров нет, то значением будет пустой объект.

- **$route.query**
- **\$route.query**

- тип: `Object`

Объект, который содержит пары ключ/значение строки запроса (query string). Например, для пути `/foo?user=1` получим `$route.query.user == 1`. Если строки запроса нет, то значением будет пустой объект.

- **$route.hash**
- **\$route.hash**

- тип: `string`

Хэш текущего маршрута (вместе с символом `#`) при его наличии. Если хэша нет, то значением будет пустая строка.

- **$route.fullPath**
- **\$route.fullPath**

- тип: `string`

Полная запись URL-адреса, включая строку запроса и хэш.

- **$route.matched**
- **\$route.matched**

- тип: `Array<RouteRecord>`

Expand All @@ -465,7 +505,9 @@ router.onError(callback)
const router = new VueRouter({
routes: [
// объект ниже — это запись маршрута
{ path: '/foo', component: Foo,
{
path: '/foo',
component: Foo,
children: [
// это — тоже запись маршрута
{ path: 'bar', component: Bar }
Expand All @@ -477,11 +519,11 @@ router.onError(callback)

Для URL `/foo/bar`, значение `$route.matched` будет массивом, содержащим копии объектов (клоны), в порядке сортировки от родителя к потомку.

- **$route.name**
- **\$route.name**

Имя текущего маршрута, если было указано. (Подробнее в разделе [именованные маршруты](../guide/essentials/named-routes.md))

- **$route.redirectedFrom**
- **\$route.redirectedFrom**

Имя маршрута с которого произошло перенаправление, если было указано. (Подробнее в разделе [перенаправления и псевдонимы](../guide/essentials/redirect-and-alias.md))

Expand All @@ -491,11 +533,11 @@ router.onError(callback)

Эти свойства внедряются в каждый дочерний компонент, передавая экземпляр маршрутизатора в корневой экземпляр в качестве опции `router`.

- **this.$router**
- **this.\$router**

Экземпляр маршрутизатора.

- **this.$route**
- **this.\$route**

Текущий активный [маршрут](#объект-route). Это свойство только для чтения и все его свойства иммутабельны, но можно отслеживать их изменения.

Expand Down
2 changes: 1 addition & 1 deletion docs/ru/guide/advanced/data-fetching.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
```html
<template>
<div class="post">
<div class="loading" v-if="loading">
<div v-if="loading" class="loading">
Загрузка...
</div>

Expand Down
4 changes: 2 additions & 2 deletions docs/ru/guide/essentials/named-views.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ const router = new VueRouter({
- `UserSettings` компонент представления
- `UserEmailsSubscriptions`, `UserProfile`, `UserProfilePreview` вложенные компоненты представлений

**Примечание**: _Давайте опустим как должен выглядеть HTML/CSS для реализации подобного шаблона и сосредоточимся на используемых компонентах_
**Примечание**: _Давайте опустим как должен выглядеть HTML/CSS для реализации подобного шаблона и сосредоточимся на используемых компонентах._

Секция `<template>` компонента `UserSettings` будет выглядеть примерно так:

Expand All @@ -61,7 +61,7 @@ const router = new VueRouter({
</div>
```

_Вложенные компоненты представлений в примере опущены, но вы можете посмотреть их полные исходные коды [здесь](https://jsfiddle.net/posva/22wgksa3/)_
_Вложенные компоненты представлений в примере опущены, но вы можете посмотреть их полные исходные коды [здесь](https://jsfiddle.net/posva/22wgksa3/)._

Затем вы можете скомпоновать шаблона выше в конфигурации маршрута:

Expand Down
2 changes: 2 additions & 0 deletions docs/ru/guide/essentials/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ router.push({ path: '/user', params: { userId } }) // -> /user

С версии 2.2.0+ можно опционально указать коллбэки `onComplete` и `onAbort` в `router.push` или `router.replace` в качестве 2-го и 3-го аргументов. Эти коллбэки будут вызываться когда навигация либо успешно завершена (после того как все асинхронные хуки будут завершены), или прервана (переходом на этот же маршрут, или на другой маршрут прежде чем текущая навигация будет завершена), соответственно.

С версии 3.1.0+ можно опустить 2-й и 3-й аргументы, в таком случае `router.push`/`router.replace` будут возвращать Promise, если они поддерживаются окружением.

**Примечание:** если путь назначения совпадает с текущим маршрутом и меняются только параметры (например, переход из одного профиля в другой `/users/1` -> `/users/2`), вам потребуется использовать [`beforeRouteUpdate`](./dynamic-matching.md#отсnеживание-изменений-параметров) для отслеживания изменений (например, загрузки информации о пользователе).

## `router.replace(location, onComplete?, onAbort?)`
Expand Down