zoukankan      html  css  js  c++  java
  • vuex笔记

      1. action可以是异步的,mutation必须是同步的,不然devtools观察不到mutation触发后的异步情况
      2. store.commit -> 分发 mutation,store.dispatch -> 触发action
        饶了一圈先触发action是为了action可以执行任何异步操作
        mutation 必须同步执行,Action 就不受约束!我们可以在 action 内部执行异步
        操作
        *问:我们的异步回调可以不再action中请求,而是当页面里的回调成功直接commit不是一样的吗,这个时候action也是简单的触发mutation,没有执行任何异步
        而且,感觉异步调接口等方法还是写在各自页面比较好,写在action里太杂乱,易冲突。
        例子:一级平台(action里请求接口传回调函数),IOE(页面回调里触发改值,action也是同步)
        *答:在action中可以引入所有mutation-type,如果在每个页面自己commit,那每个页面就要引入
        mutation-type,不方便。
        经过dashboard实践,最终发现,在页面里组织参数与回调方法,调用各自的action,action在dispatch封装ajax的action,在各自的action回调中可以触发commit保存至store
      3. store.dispatch 可以处理被触发的action的回调函数返回的Promise,并且store.dispatch仍旧返回Promise
      4. Modules
        modules是每个模块对象,包含state,mutations,actions,getters。
        对于模块内部的 getter,根节点状态会作为第三个参数
      5. Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,context不是store本身,因为它可能存在于局部模块化内。
  • 相关阅读:
    设计模式(三):装饰模式
    实战pythoninstagram
    设计模式(二):观察者模式
    instagram 的api研究
    设计模式(四):代理模式
    设计模式(五):工厂模式
    qq微博oauth认证记录
    js 处理json数据记录
    17Django高级之Auth
    20Django高级之信号
  • 原文地址:https://www.cnblogs.com/wayshon/p/7232553.html
Copyright © 2011-2022 走看看