Vuex $ state правильно оценивает отладчик, но выдает при выполнении - PullRequest
0 голосов
/ 14 ноября 2018

Я в тупике.Я сделал быстрое видео, показывающее, что отладчик правильно оценивает выражение, но когда оно переступает, оно выдает.

Это из метода получения в компоненте vue, получающего доступ к this.$store.state.Obj.value

https://youtu.be/IRQB1ZWNoGk

Любые предложения о том, почему он будет правильно оценивать в консоли отладчика, но выбрасывать при переступе?

computed: {
  mode: {
    get: () => this.state.$store.getters.mode,

this оценивает мой компонент в отладчике,но бросает, когда он переступил через него.

К вашему сведению.Я пытался следовать этой схеме, чтобы заставить работать v-модель https://vuex.vuejs.org/guide/forms.html#two-way-computed-property

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Я думаю, что разрыв между тем, что мне показывал отладчик chrome для локального контекста контекста, был перепутан, потому что он был скомпилирован с babel. Компилятор пытался показать мне исходный код, но на самом деле работающий javascript был другим.

Это то, что оказалось решением. Он показывает оба способа, которые работали. Сначала прохождение в гос. Во-вторых, используется другое обозначение.

computed: {
  ...mapState(['MainMode']),
  mode: {
    get: state => state.MainMode.mode,
    set(val) { this.$store.dispatch('updateMode', val); },
  },

Ключ здесь this не удается

   set: val => this.$store.dispatch('updateMode', val),

пока this работает

   set(val) { this.$store.dispatch('updateMode', val); },
0 голосов
/ 14 ноября 2018

Попробуйте использовать функцию стрелки, чтобы перехватить ошибку следующим образом:

.catch (e => {
   //Then you can access 'this' here
})
...