Skip to content

Commit ff08831

Browse files
committed
Russian Translation Update (2.3.0) (#737)
* russian docs translation started * docs/ru/actions.md translated * docs/ru/api.md translated * docs/ru/forms.md translated * api translation fix * docs/ru/getters.md translated * docs/ru/getting-started.md translated * docs/ru/hot-reload.md translated * docs/ru/installation.md translated * docs/ru/intro.md translated * docs/ru/modules.md translated * docs/ru/README.md translated * docs/ru/strict.md translated * docs/ru/structure.md translated * docs/ru/SUMMARY.md translated (O_O for some reason it happens to be exactly the same as README.md) * docs/ru/mutations.md translated * docs/ru/plugins.md translated * docs/ru/state.md translated * docs/ru/testing.md translated * docs/ru/actions.md styling/proof-reading * docs/ru/api.md styling/proof-reading * docs/ru/forms.md styling/proof-reading * docs/ru/getters.md styling/proof-reading * docs/ru/getting-started.md styling/proof-reading * docs/ru/hot-reload.md styling/proof-reading * docs/ru/installation.md styling/proof-reading * docs/ru/intro.md styling/proof-reading * docs/ru/modules.md styling/proof-reading * docs/ru/mutations.md styling/proof-reading * docs/ru/plugins.md styling/proof-reading * docs/ru/state.md styling/proof-reading * docs/ru/strict.md styling/proof-reading * docs/ru/structure.md styling/proof-reading * docs/ru/testing.md styling/proof-reading * docs/ru/intro.md typo fix * Copyediting RU documentation * Fix typo * Change wording around alternative approaches to data handling * Fix typo * Fix typo * Better wording for linters * Fix header and change wording * fix typo * typos reported by @ipelekhan are fixed * Russian docs translation update * Fix typo * Sentence rephrasing and fix punctuation * Переключил на ветку translation-ru * - Исправлен пример * - getting-started.md исправлена ссылка на jsfiddle * - getters.md добавлена секция про возможность передачи функции в геттерах * - installation.md добавлен флаг --save * - modules.md мелкая правка в примере * Update modules.md * modules.md ещё мелкая правка в примере * modules.md добавлен пример регистрации модуля vuejs/vuex#634 * actions.md расширен пример * getters.md исправление * strict.md обновление и добавлено уточнение о затратности * testing.md исправлен пример конфига webpack * api.md изменены ссылки * intro.md изменена ссылка * state.md изменена ссылка * api.md добавлены уточнения при определении в модуле * mutations.md добавлено уточнение примера * modules.md обновление 2.3.0 * api.md исправлена ошибка
1 parent fed9f0b commit ff08831

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

docs/ru/api.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,18 @@ const store = new Vuex.Store({ ...options })
5252

5353
```
5454
state, // при использовании модулей — локальный state модуля
55-
getters, // то же, что и store.getters
56-
rootState // то же, что и store.state
55+
getters // то же, что и store.getters
5756
```
57+
58+
При определении в модуле
59+
60+
```
61+
state, // при использовании модулей — локальный state модуля
62+
getters, // локальные геттеры текущего модуля
63+
rootState, // глобальный state
64+
rootGetters // все геттеры
65+
```
66+
5867
Зарегистрированные геттеры далее доступны в `store.getters`.
5968

6069
[Подробнее](getters.md)

docs/ru/modules.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,25 @@ store.registerModule(['nested', 'myModule'], {
243243
Динамическая регистрация модулей позволяет другим плагинам Vue также использовать Vuex для управления своим состоянием, добавляя модуль к хранилищу данных приложения. Например, библиотека [`vuex-router-sync`](https://github.com/vuejs/vuex-router-sync) интегрирует vue-router во vuex, отражая изменение текущего пути приложения в динамически присоединённом модуле.
244244

245245
Удалить динамически зарегистрированный модуль можно с помощью `store.unregisterModule(moduleName)`. Обратите внимание, что статические (определённые на момент создания хранилища) модули при помощи этого метода удалить не получится.
246+
247+
### Повторное использование модулей
248+
249+
Иногда нам может потребоваться создать несколько экземпляров модуля, например:
250+
251+
- Создание нескольких хранилищ, которые используются одним модулем;
252+
- Регистрация модуля несколько раз в одном хранилище.
253+
254+
Если мы используем просто объект для определения состояния модуля, тогда этот объект состояния будет использоваться по ссылке и вызывать загрязнение состояния хранилища / модуля при его мутациях.
255+
256+
Это фактически та же самая проблема с `data` внутри компонентов Vue. Таким образом решение будет таким же - использовать функцию для объявления состояния модуля (поддержка добавлена в версии 2.3.0+):
257+
258+
``` js
259+
const MyReusableModule = {
260+
state () {
261+
return {
262+
foo: 'bar'
263+
}
264+
},
265+
// мутации, действия, геттеры...
266+
}
267+
```

docs/ru/mutations.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ mutations: {
135135

136136
Теперь представьте, что вы отлаживаете приложение и смотрите в лог мутаций в инструментах разработчика. Для каждой залогированной мутации devtools должен сохранить слепки состояния приложения "до" и "после" её наступления. Однако, асинхронный коллбэк внутри приведённой выше мутации делает это невозможным: мутация-то уже записана, и у devtools нет никакой возможности знать, что далее будет вызван коллбэк, а, значит, и инициируемые им изменения становится, по сути дела, невозможно отследить.
137137

138-
### Вызов мутаций из компонентов
138+
### Вызов мутаций в компонентах
139139

140140
Мутации можно вызывать из кода компонентов, используя `this.$store.commit('xxx')`, или применяя хелпер `mapMutations`, который проксирует вызовы `store.commit` через методы компонентов (для этого требуется наличие корневой ссылки на хранилище `$store`):
141141

@@ -146,7 +146,10 @@ export default {
146146
// ...
147147
methods: {
148148
...mapMutations([
149-
'increment' // this.increment() будет вызывать this.$store.commit('increment')
149+
'increment', // this.increment() будет вызывать this.$store.commit('increment')
150+
151+
// mapMutations также поддерживает нагрузку:
152+
'incrementBy' // this.incrementBy(amount) будет вызывать this.$store.commit('incrementBy', amount)
150153
]),
151154
...mapMutations({
152155
add: 'increment' // this.add() будет вызывать this.$store.commit('increment')

0 commit comments

Comments
 (0)