Vuex рассылка не возвращает данные в поле зрения - PullRequest
0 голосов
/ 24 января 2020

Я не могу получить свои данные из vuex и использовать их во всех представлениях, но я вижу результаты их успеха на вкладке сети.

снимки экрана

network tab

one

console

two

Код

store.js

state: {
    currency: {}
},
mutations: {
    currency(state, currency){
      state.currency = currency
    }
},
actions: {
    currency({commit}){
      return new Promise((resolve, reject) => {
        commit('currency')
        axios({url: '/api/currencyDefault', method: 'GET' })
        .then(resp => {
          const currency = resp.data.data
          commit('currency', currency)
          resolve(resp)
        })
        .catch(err => {
          commit('currency')
          reject(err)
        })
      })
    },
},
getters: {
    currency: state => state.currency,
}

App.vue (main component where routers will load)

<script>
export default {
  props:['currency'],
  data() {
    return {
      isCollapse: true,
    }
  },
  created () {
    this.currency()
  },
  methods: {
    currency() {
      this.$store.dispatch('currency')
   }
  },
}
</script>

Затем в моем другом компоненте я вызываю такую ​​валюту, как:

{{currency.name}}

идеи?

1 Ответ

1 голос
/ 24 января 2020

Метод Валюта уже определена как реквизит. удалите это в своем коде.

props:['currency']

Десять называют эту валюту в вашем компоненте следующим образом:

<div>
   {{this.$store.getters.currency.name}}
</div>

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

<div v-if="$store.getters.currency">
      {{this.$store.getters.currency.name}}
  </div>

или объявите новую переменную в ваших данных, например

data() {
   return {
       currency: this.$store.getters.currency.name
   }
}

, теперь вы можете назвать ее так

<div v-if="$store.getters.currency">
     {{currency.name}}
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...