【问题标题】:Vuex problems, important project, MapActions,MapGettersVuex问题,重要项目,MapActions,MapGetters
【发布时间】:2020-10-22 17:37:58
【问题描述】:

之所以写到这里,是因为我刚找到一份前端开发人员的工作,第一天他们就向我扔了一个大项目,结果我输了,非常迷茫,绝望。

我的工作是我有一个主页,其中有一个表格,其中包含一些信息,例如日期、小时、每日风速、每日摄氏度,并且在表格下方会有可以从配置面板。 所以基本上使用 Vue-router 有两个页面,一个带有主页,一个带有配置面板,现在在配置面板中我有一个表单,您可以在其中编写要显示到主页的文本,我的问题是我不知道如何将文本从一个路由器显示到另一个路由器正在显示,

这是我的模块(vuex 文件)中的内容:

const state = {
    message: '',

};
const getters = {
    message: (state) => {
        return state.message;
    },

};

const actions = {
    setMessage: ({
        commit,
        state
    }, newValue) => {
        commit('SET_MESSAGE', newValue);
        return state.message;
    },

};
const mutations = {
    SET_MESSAGE: (state, newValue) => {
        state.message = newValue;
        console.log(state.message);
    },

};

export default {
    state,
    getters,
    actions,
    mutations,
};

当我在控制台记录 state.message 时,提交的文本现在就在那里,我需要将此文本放到我的主页上,请帮助我,我知道这应该很简单,但我无法解决。

【问题讨论】:

标签: javascript vue.js frontend vuex vue-router


【解决方案1】:

在主页上你应该添加

created() {
    this.$store.dispatch('SET_MESSAGE');
}

此代码将调用 SET_MESSAGE

computed: {
    ...mapGetters({
        message: 'message',
    }),
}

添加此部分后,您可以在方法中简单调用“this.message”或模板中的“message”来获取消息值

【讨论】:

  • 非常感谢 :) 无论如何我可以通过不和谐的方式与您联系,或者我可以在哪里问这种愚蠢的问题? vue 对我来说很新。
猜你喜欢
  • 2020-11-22
  • 2019-02-13
  • 2018-08-23
  • 2020-06-17
  • 2020-06-22
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 2018-01-08
相关资源
最近更新 更多