当vuex状态更改时,计算的vue不激发

bq3bfh9z  于 2023-02-19  发布在  Vue.js
关注(0)|答案(2)|浏览(128)

我不知道为什么,但是当状态改变时,我的计算属性没有激发。我正在调度操作,结果状态改变了。但是数据根本没有激发。想要帮助吗:(

//store

mutations: {

    setStudyData(state, payload) {
      state.studyData = [...payload];
    },
  },

actions: {
    async postLogin({ state, commit, dispatch }, { userId, userPass }) {
      try {
        const res = await axios.post(`${url}/v1/api/user/auth/signin`, {
          userId,
          userPass,
        });
        await commit("setSeq", res.data.user_seq);
        await commit("setToken", res.data.accessToken);
        await dispatch("getStudyLi");
        console.log(state.studyData); //i can see the state changes here
      } catch {
        console.log("error");
      }
    },
computed: {
    data(){
      console.log(this.datas) //not working
      return this.$store.state.login.studyData 
    }
  },
vsikbqxv

vsikbqxv1#

在所示代码中没有任何this.datas属性。
如何使用计算方法也很重要。只有在调用计算值时,它才运行计算方法。如果在组件中不使用this.data属性,就不能期望调用方法。

5cg8jx4n

5cg8jx4n2#

如果你不再处理你的studyData,你可以使用mapState来代替,这样可以保存你写这个的时间。$store.state.login.studyData
计算:{...Map状态([“研究数据”,“研究数据2”,]),}

相关问题