VueJS: Свойство или метод "tagNbr" не определен в экземпляре, но на него ссылаются во время рендеринга.Убедитесь, что это свойство является реактивным - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь получить значение из хранилища VueX во время рендеринга при рендеринге моего компонента.То, что я вижу, это то, что я сначала получаю ошибку выше, а затем значение корректно обновляется в компоненте, потому что я думаю, что состояние хорошо реагирует, но не инициализируется при визуализации компонента.

Как мне избежать этой ошибки?

шаблон:

<span class="kt-widget17__desc">
   {{ carsNumber }}
</span>

скрипт:

export default {
    data() {
        return {
            carsNumber: this.currentGarage.numberOfTags
        };
    },
    computed: {
        ...mapGetters(["currentGarage"]),
    }
};

Ошибка:

Свойство или метод "carsNumber" не определен в экземпляре, но на него ссылаются во время рендеринга.Убедитесь, что это свойство является реактивным ..

1 Ответ

0 голосов
/ 11 апреля 2019

Я создал сеттер и геттер в вычисляемом свойстве, в вашем случае carsNumber вместо того, чтобы поместить его в свойство данных.

computed: {
   ...mapGetters(["currentGarage"]),

   carsNumber: {
      get(){
         return this.currentGarage.numberOfTags
      },
      set(newVal){ // setter can be excluded if not used
         // you can call this.$store.commit('yourMutation', yourValue)
      }
   }
}
...