Как сделать объект из vuex реактивным?

Пользователь

от abel , в категории: JavaScript , 8 месяцев назад

Как сделать объект из vuex реактивным?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от felix , 8 месяцев назад

@abel 

Для того чтобы сделать объект из Vuex реактивным, нужно создать его как объект Vue:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import Vue from 'vue'

const state = {
  myObject: {
    foo: 'bar'
  }
}

const store = new Vuex.Store({
  state
})

new Vue({
  el: '#app',
  store,
  computed: {
    myObject () {
      return this.$store.state.myObject
    }
  }
})


В этом примере мы создали объект state, который содержит свойство myObject с одним ключом foo и значением 'bar'. Затем мы создали новый экземпляр Vuex.Store с помощью этого объекта состояния.


Чтобы сделать объект myObject реактивным, мы создали новый экземпляр Vue и передали в него объект Vuex.Store в качестве опции store. Затем мы определили вычисляемое свойство myObject, которое возвращает свойство myObject из хранилища Vuex. Это свойство будет реактивным, поскольку оно использует значение из хранилища Vuex.


Теперь, когда значение свойства myObject изменяется в хранилище Vuex, это изменение будет автоматически отображаться во всех компонентах, использующих это свойство.