Skip to content

[RU] Updates #1564

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 40 commits into from
Jul 5, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
7611e20
russian translation update v2.5.+
gbezyuk Apr 24, 2017
d6fc3ac
router-instance.md исправлена опечатка
Alex-Sokolov Apr 24, 2017
75fd8a6
router-link.md исправление
Alex-Sokolov Apr 24, 2017
3f1a8ba
navigation-guards.md исправлена опечатка
Alex-Sokolov Apr 24, 2017
ab29af8
Merge pull request #27 from Alex-Sokolov/ru-translation
gbezyuk Apr 25, 2017
d0c6b28
getting-started.md standalone -> полная сборка
Alex-Sokolov May 10, 2017
5c52838
Merge pull request #28 from Alex-Sokolov/ru-translation
gbezyuk May 11, 2017
608cf5c
data-fetching.md бэктики
Alex-Sokolov May 29, 2017
e919095
lazy-loading.md бэктики
Alex-Sokolov May 29, 2017
706b0ee
transitions.md бэктики
Alex-Sokolov May 29, 2017
209cef0
route-object.md бэктики
Alex-Sokolov May 29, 2017
1739ecf
router-link.md бэктики
Alex-Sokolov May 29, 2017
5084370
getting-started.md бэктики
Alex-Sokolov May 29, 2017
308743d
Merge branch 'ru-translation' of https://github.com/Alex-Sokolov/ru.v…
Alex-Sokolov May 29, 2017
aa04020
Merge pull request #29 from vuejs/dev
gbezyuk May 29, 2017
505f3bc
Merge pull request #30 from Alex-Sokolov/ru-translation
gbezyuk May 29, 2017
5fe5297
history-mode.md добавлен раздел с примером для IIS
Alex-Sokolov Jun 27, 2017
15dc5e5
router-instance.md добавлено уточнение
Alex-Sokolov Jun 27, 2017
a04a7c4
lazy-loading.md require -> import
Alex-Sokolov Jun 27, 2017
083ba23
lazy-loading.md новый синтаксис разделения кода
Alex-Sokolov Jun 27, 2017
e025176
SUMMARY.md правки к 2.6
Alex-Sokolov Jun 27, 2017
8d037b8
scroll-behavior.md обновление к 2.6
Alex-Sokolov Jun 27, 2017
e735688
options.md добавления для 2.6
Alex-Sokolov Jun 27, 2017
8c12af4
Merge pull request #31 from Alex-Sokolov/ru-translation
gbezyuk Jun 28, 2017
4c22515
named-routes.md правка
Alex-Sokolov Jun 29, 2017
7a55199
Merge pull request #32 from Alex-Sokolov/ru-translation
gbezyuk Jun 29, 2017
64d275b
SUMMARY.md экземпляр
Alex-Sokolov Jul 1, 2017
2e1f7f7
navigation-guards.md экземпляр
Alex-Sokolov Jul 1, 2017
d462942
scroll-behavior.md экземпляр
Alex-Sokolov Jul 1, 2017
6dd25fa
component-inhections.md экземпляр
Alex-Sokolov Jul 1, 2017
6a1109a
router-instance.md экземпляр
Alex-Sokolov Jul 1, 2017
16af373
dynamic-matching.md экземпляр
Alex-Sokolov Jul 1, 2017
eed6cc5
getting-started.md экземпляр
Alex-Sokolov Jul 1, 2017
ac597ef
named-routes.md экземпляр
Alex-Sokolov Jul 1, 2017
6d462fa
navigation.md экземпляр
Alex-Sokolov Jul 1, 2017
13d10bb
data-fetching.md правка
Alex-Sokolov Jul 1, 2017
1188d95
Merge pull request #33 from Alex-Sokolov/ru-translation
gbezyuk Jul 1, 2017
01f1a7e
Sync with master
Alex-Sokolov Jul 4, 2017
433136a
lazy-loading.md merge
Alex-Sokolov Jul 4, 2017
edc2a3b
Merge pull request #34 from translation-gang/merge-branch
gbezyuk Jul 5, 2017
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
18 changes: 14 additions & 4 deletions docs/ru/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,19 @@
- [Скроллинг](advanced/scroll-behavior.md)
- [Ленивая загрузка путей](advanced/lazy-loading.md)
- Справочник API
- [router-link](api/router-link.md)
- [router-view](api/router-view.md)
- [Объект route](api/route-object.md)
- [Опции конструктора Router'а](api/options.md)
- [Инстанс Router'а](api/router-instance.md)
- [routes](api/options.md#routes)
- [mode](api/options.md#mode)
- [base](api/options.md#base)
- [linkActiveClass](api/options.md#linkactiveclass)
- [linkExactActiveClass](api/options.md#linkexactactiveclass)
- [scrollBehavior](api/options.md#scrollbehavior)
- [parseQuery / stringifyQuery](api/options.md#parsequery--stringifyquery)
- [fallback](api/options.md#fallback)
- [Экземпляр Router](api/router-instance.md)
- [Свойства](api/router-instance.md#свойства)
- [Методы](api/router-instance.md#методы)
- [Объект route](api/route-object.md)
- [Интеграция с компонентами Vue](api/component-injections.md)
- [router-link](api/router-link.md)
- [router-view](api/router-view.md)
4 changes: 2 additions & 2 deletions docs/ru/advanced/data-fetching.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

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

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

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

Expand All @@ -18,7 +18,7 @@
<template>
<div class="post">
<div class="loading" v-if="loading">
Loading...
Загрузка...
</div>

<div v-if="error" class="error">
Expand Down
33 changes: 18 additions & 15 deletions docs/ru/advanced/lazy-loading.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,26 @@

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

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

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

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

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может от второй версии? в третей версии тоже можно использовать динамические импорты

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В смысле, начианая с второй версии

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nickmessing переведено в точности как в и английской версии документации, да и третий вебпак только вышел

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Alex-Sokolov, ну да, в английской тоже только второй, подождем пока vuejs-templates/webpack обновится до третей версии.

Оффтопик: думаешь стоит переводить документацию к темплейтам для vue-cli?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nickmessing там пока не подготовлено для переводов, но идея неплоха. Может и стоит им удочку закинуть

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Alex-Sokolov, я спрошу команду, если они заинтересованы - сделаем


``` js
const Foo = resolve => require(['./Foo.vue'], resolve)
import('./Foo.vue') // возвращает Promise
```

> Примечание: если вы используете Babel, то нужно будет добавить плагин [syntax-dynamic-import](http://babeljs.io/docs/plugins/syntax-dynamic-import/), чтобы Babel смог корректно обработать синтаксис.

Эти два пункта — всё необходимое, чтобы определить асинхронный компонент, который Webpack автоматически вынесет в отдельный чанк:

``` js
const Foo = () => import('./Foo.vue')
```

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

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

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

``` js
const Foo = r => require.ensure([], () => r(require('./Foo.vue')), 'group-foo')
const Bar = r => require.ensure([], () => r(require('./Bar.vue')), 'group-foo')
const Baz = r => require.ensure([], () => r(require('./Baz.vue')), 'group-foo')
const Foo = () => import(/* webpackChunkName: "group-foo" */ './Foo.vue')
const Bar = () => import(/* webpackChunkName: "group-foo" */ './Bar.vue')
const Baz = () => import(/* webpackChunkName: "group-foo" */ './Baz.vue')
```

Webpack сгруппирует все одноимённые асинхронные модули в единую минисборку — что среди прочего будет означать отсутствие необходимости явно указывать зависимости для `require.ensure` (поэтому мы и передаём первым параметром пустой массив).
Webpack сгруппирует все одноимённые асинхронные модули в единую минисборку.
12 changes: 6 additions & 6 deletions docs/ru/advanced/navigation-guards.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ const Foo = {
template: `...`,
beforeRouteEnter (to, from, next) {
// вызывается до подтверждения пути, соответствующего этому компоненту.
// НЕ имеет доступа к контексту инстанса компонента `this`,
// так как к моменту вызова инстанс ещё не создан!
// НЕ имеет доступа к контексту экземпляра компонента `this`,
// так как к моменту вызова экземпляр ещё не создан!
},
beforeRouteUpdate (to, from, next) {
// вызывается когда маршрут, что рендерит этот компонент изменился,
Expand All @@ -98,19 +98,19 @@ const Foo = {
},
beforeRouteLeave (to, from, next) {
// вызывается перед переходом от пути, соответствующего текущему компоненту;
// имеет доступ к контексту инстанса компонента `this`.
// имеет доступ к контексту экземпляра компонента `this`.
}
}
```

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

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

``` js
beforeRouteEnter (to, from, next) {
next(vm => {
// инстанс компонента доступен как `vm`
// экземпляр компонента доступен как `vm`
})
}
```
Expand Down
5 changes: 3 additions & 2 deletions docs/ru/advanced/scroll-behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

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

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

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

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

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

Expand Down Expand Up @@ -53,6 +53,7 @@ scrollBehavior (to, from, savedPosition) {
if (to.hash) {
return {
selector: to.hash
// , offset: { x: 0, y: 10 }
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions docs/ru/api/component-injections.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

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

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

- #### $router

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

- #### $route

Expand Down
16 changes: 15 additions & 1 deletion docs/ru/api/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
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
}
```

Expand Down Expand Up @@ -85,4 +89,14 @@

- Тип: `Function`

Пользовательские функции для парсинга строки запроса / приведения к строке запроса (функции stringify). Переопределяют значения по умолчанию.
Пользовательские функции для парсинга строки запроса / приведения к строке запроса (функции stringify). Переопределяют значения по умолчанию.

### fallback

> 2.6.0+

- Тип: `boolean`

Контролирует, должен ли маршрутизатор возвращаться в режим `hash`, когда браузер не поддерживает `history.pushState`. По умолчанию значение `true`.

Установка этого параметра в `false` будет вызывать для каждой навигации через `router-link` полное обновление страницы в IE9. Это может быть полезным, когда приложение рендерится на стороне сервера и должно работать в IE9, потому что режим `hash` не работает с SSR.
9 changes: 6 additions & 3 deletions docs/ru/api/router-instance.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Инстанс Router
# Экземпляр Router

### Свойства

#### router.app

- тип: `Vue instance`

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

#### router.mode

Expand Down Expand Up @@ -40,7 +40,7 @@

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

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

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

Expand All @@ -56,6 +56,9 @@
}
```

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

- **router.addRoutes(routes)**

> 2.2.0+
Expand Down
2 changes: 1 addition & 1 deletion docs/ru/essentials/dynamic-matching.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ const User = {

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

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

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

Expand Down
6 changes: 3 additions & 3 deletions docs/ru/essentials/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ const routes = [
{ path: '/bar', component: Bar }
]

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

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