vuejs как я могу передать свои данные обратно, чтобы просмотреть, пожалуйста - PullRequest
0 голосов
/ 08 мая 2018

Может ли кто-нибудь помочь с тем, почему я не могу получить свой массив в следующем, пожалуйста,

HTML:

<table class="table table-hover">
        <thead>
        <tr>
            <td>ID</td>
            <td>Email</td>
            <td>Password</td>
        </tr>
        </thead>
        <tbody>
           <tr v-if="email" v-for="mail in email" :key="">
                <td>{{ allMyUsers.id  }}</td>
                <td>{{ allMyUsers.name }}</td>
                <td>{{ allMyUsers.email }}</td>
                <td></td>
            </tr>
        </tbody>
    </table>

Я называю свои результаты следующим образом, я вижу, что массивпропущен через мой журнал (я думаю), но очень трудно понять мою проблему

Сценарий:

import axios from 'axios';

экспорт по умолчанию {

computed: {
  allMyUsers () {
    return !this.$store.getters.alluser ? false : this.$store.getters.alluser
  },
},
created () {
  this.$store.dispatch('allUsers')
}

}

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

    allUsers ({commit, state}) {
  if (!state.idToken) {
    return
  }
  globalAxios.get('/users.json')
    .then(res => {
      const data = res.data
      const allUsers = []
      for (let key in data) {
        const user = data[key]
        user.id = key
        allUsers.push(user)
     }
    commit('storeUser', allUsers)
  })
  .catch(error => console.log(error))
}

Мой метод получения выглядит следующим образом

   getters: {
    alluser (state) {
      return state.allUsers
    },
  }

})

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


Большое спасибо за помощь, я пыталсяследуйте вашим указаниям, но ничего не возвращается, и теперь у меня нет ошибок

мой обновленный код выглядит следующим образом, я был уверен, что следовал инструкциям, которые вы любезно предоставили

HTML:

        <tr v-if="myuser" v-for="myuser in allMyUsers" :key="">
          <td>{{ myuser.email }}</td>
          <td></td>
        </tr>

SCRIPT:

<script>
  import axios from 'axios';

  export default {

    computed: {

      allMyUsers () {
        return !this.$store.getters.myuser ? false : this.$store.getters.myuser
      },
    },
    created () {
      this.$store.dispatch('allMyUsers')
    }
  }
</script>

GETTER:

myuser (state) {
  return state.myuser
},

Функция:

allMyUsers ({commit, state}) {
     if (!state.idToken) {
       return
     }
        globalAxios.get('/users.json' + '?auth=' + state.idToken)
          .then(res => {
            const data = res.data
            const myusers = []
            for (let key in data) {
              const myuser = data[key]
              myuser.id = key
              myusers.push(myuser)
           }

        commit('storemyuser', myusers)
      })
    .catch(error => console.log(error))
  }

Aи наконец моя МУТАЦИЯ:

storemyuser (state, myuser) {
  state.myuser = myuser
},

Еще раз спасибо за вашу помощь, вы, ребята, действительно здорово помогаете новичкам, таким как я, учиться

1 Ответ

0 голосов
/ 08 мая 2018

Ваш цикл v-for не подходит, свойство email не определено в вашем компоненте, вы только определили вычисленное свойство allUsers (с получателями из вашего магазина). Это то, что вам нужно использовать:

<tr v-if="user" v-for="user in allUsers" :key="">
  <td>{{ user.id  }}</td>
  <td>{{ user.name }}</td>
  <td>{{ user.email }}</td>
  <td></td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...