V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wchluxi
V2EX  ›  Vue.js

vuex 的 module 局部的 mutation 如何访问全局 state?

  •  
  •   wchluxi · 2022-06-22 14:59:29 +08:00 · 1183 次点击
    这是一个创建于 645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    //	局部 module
    const Post = {
    	mutations: {
        	//该函数如何访问全局 state
            fetchPosts () {
            }
        }
    }
    
    const store = createStore({
    	state: {
        	posts
        }
    })
    
    7 条回复    2022-06-23 08:43:04 +08:00
    lingxiaoli
        1
    lingxiaoli  
       2022-06-22 15:14:46 +08:00
    TsubasaHanekaw
        2
    TsubasaHanekaw  
       2022-06-22 15:17:52 +08:00   ❤️ 1
    建议直接学 pinjia 放弃 vuex
    wchluxi
        3
    wchluxi  
    OP
       2022-06-22 15:20:34 +08:00
    @lingxiaoli #1 如果你希望使用全局 state 和 getter ,rootState 和 rootGetters 会作为第三和第四参数传入 getter ,也会通过 context 对象的属性传入 action 。

    文档没有介绍在 mutation 里面怎么用呀
    wchluxi
        4
    wchluxi  
    OP
       2022-06-22 15:26:14 +08:00
    @TsubasaHanekaw #2 感觉不错
    thefck
        5
    thefck  
       2022-06-22 15:33:44 +08:00
    不可以
    用 action
    cszchen
        6
    cszchen  
       2022-06-22 22:36:57 +08:00 via iPhone
    mutation 不能调用异步方法,只改变状态,正确用法应该在 action 里调用异步方法,然后提交 mutation 来更新状态
    sjhhjx0122
        7
    sjhhjx0122  
       2022-06-23 08:43:04 +08:00
    如果就是存一些全局状态的话,可以依赖注入简单封装一个也够用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2887 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:19 · PVG 08:19 · LAX 17:19 · JFK 20:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.