Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 列表isn';t在vue.js中动态显示_Javascript_Vue.js_Frontend_Vuex_Javascript Framework - Fatal编程技术网

Javascript 列表isn';t在vue.js中动态显示

Javascript 列表isn';t在vue.js中动态显示,javascript,vue.js,frontend,vuex,javascript-framework,Javascript,Vue.js,Frontend,Vuex,Javascript Framework,我是vue.js新手,通过vue文档、youtube视频等自学。我已经搜索了一段时间,查看了youtube教程,到目前为止还没有找到答案,希望你们能帮助我 这是我的问题,我正在构建一个web应用程序,我需要动态显示一个对象列表,但它不会显示我第一次加载该页面的时间。我必须走另一条路回来看看,所以我想我误解了某个生命周期或某个专业领域的东西 我正在使用vuex存储和检索我的数据,如下所示: import Vue from 'vue'; const state = { journees:

我是vue.js新手,通过vue文档、youtube视频等自学。我已经搜索了一段时间,查看了youtube教程,到目前为止还没有找到答案,希望你们能帮助我

这是我的问题,我正在构建一个web应用程序,我需要动态显示一个对象列表,但它不会显示我第一次加载该页面的时间。我必须走另一条路回来看看,所以我想我误解了某个生命周期或某个专业领域的东西

我正在使用vuex存储和检索我的数据,如下所示:

import Vue from 'vue';

const state = {

    journees: {},
};

const getters = {

    getJourneeList(state) {
        return state.journees;
    }
};

const mutations = {
   
    GET_LIST(state, journees) {
        state.journees = journees;
    }
};

const actions = {

    getJourneesUser({commit}) {
        Vue.axios.get('/journee/')
            .then( res => {
                commit('GET_LIST', res.data)
            })
            .catch((err) => console.log(err))
    }
};



export default {
    state,
    getters,
    mutations,
    actions
};
然后我在我的vue中得到这样的结果:

<template>
  <v-container>
      <v-card v-for="heure in heures" :key="heure._id">
        <v-card-title>{{ heure }}</v-card-title>
      </v-card>
  </v-container>
</template>

<script>
export default {
  name: "TimeList",
  data() {
    return {
      heures: this.$store.getters.getJourneeList,
    }
  },
  created() {
    this.$store.dispatch('getJourneesUser');
  }
}
</script>

{{heure}}
导出默认值{
名称:“时间主义者”,
数据(){
返回{
heures:这个.$store.getters.getJourneeList,
}
},
创建(){
这是.store.dispatch('getJourneesUser');
}
}

您需要使用mapState并在计算值内使用它,因为这样计算值将响应状态的变化。您不需要getter,但如果您需要,这里是带有getter的版本。如果您的存储模块名为journees,则应该是这样的:

无吸气剂


{{heure}}
从“vuex”导入{mapState};
导出默认值{
名称:“时间主义者”,
计算:{
…mapState([“journees”])
},
创建(){
此.$store.dispatch(“getJourneesUser”);
},
};
带吸气剂

<template>
    <v-container>
        <v-card v-for="heure in getJourneeList" :key="heure._id">
            <v-card-title>{{ heure }}</v-card-title>
        </v-card>
    </v-container>
</template>

<script>
import { mapGetters } from "vuex";
export default {
    name: "TimeList",
    computed: {
        ...mapGetters(["getJourneeList"])
    },
    created() {
        this.$store.dispatch("getJourneesUser");
    },
};
</script>

{{heure}}
从“vuex”导入{mapGetters};
导出默认值{
名称:“时间主义者”,
计算:{
…映射获取程序([“getJourneeList”])
},
创建(){
此.$store.dispatch(“getJourneesUser”);
},
};

您可以检查两件事,首先尝试console.log(heures)并查看您在控制台中获得的数据类型。其次,journees是否应该是一种数组类型而不是对象?我已经将console.log放在了所有地方,它按照预期首先进入我的created()函数,然后在执行mutator之前装入它。即使我的大问题是为什么完成后不更新。。。关于对象/数组的问题,我不确定它是否真的重要,因为我是在那个状态下施法的。journees是一个新对象,应该会删除最后一个对象,或者可能我搞错了。。。我对承诺的使用也很陌生,所以也许我做的不止一件事是错误的。。。