как получить route.params.id в параметрах getter, используя vuex store - PullRequest
0 голосов
/ 27 сентября 2019

Я новичок в vuejs и Nuxt, и у меня возникают проблемы с получением пользовательских данных на основе его / ее идентификатора через передачу параметров в параметры получателя, как это предлагается в документации по методу получателей vuex.Я использовал методы для получения информации о пользователе на основе идентификатора, но я не получаю никаких данных. Вот код

store / userStore / userStore.js

export const actions = {
    async loadedUsers({commit}, params){
        const result = await axios.get('https://jsonplaceholder.typicode.com/users');
        commit('setUsers', result.data);
    }
    }

export const getters = {
    getLoadedUsers: state => {
            return state.loadedUsers;
       },
       getUserById: state => (id) => {
           return state.loadedUsers.find(user => user.id === id)
       }   
    }

и вот мой код страницы

export default {
  methods: {
    getUserId(params){
     return this.$store.getters.getUserById(this.$route.params.id)
   }
  },
  //mounted(){
      //this.$store.dispatch('get');
    //},
  data() {
   return {
     id: this.$route.params.id
   }
 },
 computed: {
   ...mapGetters({
     getUsers: 'userStore/userStore/getLoadedUsers',
   })
 }
}
</script>>

Вот моя главная страница, откуда я нажимаю user.id

<script>
export default {
    data() {
      return {
        userId: ''
      }
    },
    methods:{
      onLoadUser(){
        this.$router.push('/users/' + this.userId)
      }

    },
  }
</script>
...