|
@@ -135,7 +135,7 @@ mutations: {
|
|
|
|
|
|
Теперь представьте, что вы отлаживаете приложение и смотрите в лог мутаций в инструментах разработчика. Для каждой залогированной мутации devtools должен сохранить слепки состояния приложения "до" и "после" её наступления. Однако, асинхронный коллбэк внутри приведённой выше мутации делает это невозможным: мутация-то уже записана, и у devtools нет никакой возможности знать, что далее будет вызван коллбэк, а, значит, и инициируемые им изменения становится, по сути дела, невозможно отследить.
|
|
|
|
|
|
-### Вызов мутаций из компонентов
|
|
|
+### Вызов мутаций в компонентах
|
|
|
|
|
|
Мутации можно вызывать из кода компонентов, используя `this.$store.commit('xxx')`, или применяя хелпер `mapMutations`, который проксирует вызовы `store.commit` через методы компонентов (для этого требуется наличие корневой ссылки на хранилище `$store`):
|
|
|
|
|
@@ -146,7 +146,10 @@ export default {
|
|
|
// ...
|
|
|
methods: {
|
|
|
...mapMutations([
|
|
|
- 'increment' // this.increment() будет вызывать this.$store.commit('increment')
|
|
|
+ 'increment', // this.increment() будет вызывать this.$store.commit('increment')
|
|
|
+
|
|
|
+ // mapMutations также поддерживает нагрузку:
|
|
|
+ 'incrementBy' // this.incrementBy(amount) будет вызывать this.$store.commit('incrementBy', amount)
|
|
|
]),
|
|
|
...mapMutations({
|
|
|
add: 'increment' // this.add() будет вызывать this.$store.commit('increment')
|