在vuex 内部的 mutations 里面一个方法想调用另一个方法可以吗

发布于 2022-09-12 03:29:09 字数 131 浏览 19 评论 0

图片描述

cust_down 定时器小于1 就调用clear的方法 如何在内部调用啊 我尝试了各种写法都报错 还是说vuex根本不提倡这种写法啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

肤浅与狂妄 2022-09-19 03:29:09

action里做吧,类似:

action

let timerId;
export const countdown = function({dispatch, state}) {
    timerId = setInterval(function() {
        dispatch('COUNT_DOWN');
        if(state.count < 1){
            clearInterval(timerId);
        }
    }, 1000);
};

mutation

const mutations = {
    ['COUNT_DOWN'](state) {
        state.count--;
    }
};
征棹 2022-09-19 03:29:09

['STOP'](state)
改成 this.STOP(state)
试试,

let obj = {
    ['hello']() {
        console.log('hello world');
    },
    ['add'](x) {
        console.log(x+1);
        this.hello();
    }
}

// obj.hello();
obj.add(1);

以上代码可以正确运行的

爱*していゐ 2022-09-19 03:29:09

mutations只能通过dispatch来调用...

把定时器放在action中, mutations只改变数据

悲凉≈ 2022-09-19 03:29:09

同问,如何在mutation里的a方法里调用同级b方法,其他评论里说的this.commit不行,在a方法里this都是undefined,this.commit()更是报错

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文