首页 > 其他分享 >vuex里面的this.$store.dispatch 和 this.$store.commit用法以及区别

vuex里面的this.$store.dispatch 和 this.$store.commit用法以及区别

时间:2023-06-25 11:45:22浏览次数:37  
标签:actions 参数 dispatch 可选项 commit store

 

两个方法都是传值给vuex的mutation改变state

dispatch:异步操作,数据提交至 actions ,可用于向后台提交数据

this.$store.dispatch('isLogin', true);

commit:  同步操作,数据提交至 mutations ,可用于登录成功后读取用户信息写到缓存里

this.$store.commit('loginStatus', 1);

注:必须要用commit(‘SET_TOKEN’, tokenV)调用mutations里的方法,才能在store存储成功。

 

 

eg:

dispatch方法的参数

1、第一个参数:actions名称,必填项

2、第二个参数:actions操作的参数,可选项

3、第三个参数:具有多个触发mutations的actions执行器数据,必须为对象格式,可选项

4、第四个参数:触发成功时的回调函数,可选项

5、第五个参数:触发失败时的回调函数,可选项

 

store.dispatch('actionName', {
   parameter1: value1,
   parameter2: value2
}, {
   root: true,
   test: () => console.log('test')
}, 
() => {
   console.log('success')
},
() => {
   console.log('fail')
})

 

标签:actions,参数,dispatch,可选项,commit,store
From: https://www.cnblogs.com/zxhh/p/17502523.html

相关文章

  • GIT保存记录原理之commit对象
    GIT中提交对象非常的重要,我们通过它记录代码提交过程、进行文件保存、回退等操作,那么它是怎样帮助我们记录这些信息的呢?其实就是都保存在项目根目录的.git文件夹中。新建空项目```gitDemo```使用```gitinit```初始化,在文件夹根目录下会生成```.git```文件夹,文件夹中会......
  • git 切换到指定commit以及提交并且删除分支
    首先是通过gitlog--pretty=oneline查找到指定的commitID gitcheckout 4da58520 提示没有在任何一个分支上,需要新建一个分支关联变更  gitcheckout-bnew_commit_branch 推送变更 gitpush 此时新的分支回退到指定的提交ID,可以做我们的事情了。使用完之......
  • C:\Windows\WinSxS 目录是 Windows 操作系统中一个重要的系统目录,它包含了组件存储
    C:\Windows\WinSxS目录是Windows操作系统中一个重要的系统目录,它包含了组件存储和组件映像服务(ComponentStoreandComponentBasedServicing)的相关文件。WinSxS目录主要用于存储操作系统及其组件的多个版本和配置文件。它的主要功能是支持系统的“部署”、“维护”和“修......
  • Spartacus Storefront 里如何在 SmartEdit 访问环境下暂时禁用 Early login
    关于SpartacusEarlylogin的功能,即如果当前客户没有登录,则显示loginpage.而不是显示原始页面。有的客户期望Spartacus在SmartEdit环境下预览时,暂时禁掉这个功能。首先,开发人员应该分析与需求相关的所有后果并对安全威胁进行建模,然后考虑是否接受它们,例如:某些功能页......
  • git 强制回退服务器上的commit
    假设你有3个commit如下:commit3commit2commit1 其中最后一次提交commit3是错误的,那么可以执行:gitreset--hardHEAD~1你会发现,HEADisnowatcommit2。 然后再使用gitpush–force 将本次变更强行推送至服务器。这样在服务器上的最后一次错误提交也彻底消失了。值得......
  • 使用IDEA回滚某次提交的代码步骤,和回滚某次已经commit的代码但是没有push的代码
    使用IDEA回滚某次提交的代码步骤1.已经push的代码回滚选中提交的版本:右击RevertCommit会新增一个Revert“xxxCommit”的Commit记录,并将"xxxCommit"中的代码全部回滚。如果是已经push到远端的Commit,RevertCommit后还需要进行push。 2.已经commit但是没有pus......
  • 2023-06-20 TypeError: Cannot use 'in' operator to search for 'storeInfo' in unde
    前言:uniapp项目报错:[system]TypeError:Cannotuse'in'operatortosearchfor'storeInfo'inundefined原因:data里面没有写return,如下:<script>exportdefault{data(){},}</script>解决方案:把return加上,即:<script>expo......
  • Android基于KeyStore对数据进行加解密
    问题背景在我们App开发过程中,可能会涉及到一些敏感和安全数据需要加密的情况,比如登录token的存储。我们往往会使用一些加密算法将这些敏感数据加密之后再保存起来,需要取出来的时候再进行解密。此时就会有一个问题:用于加解密的Key该如何存储?为了保证安全性,Android提供了KeyStore......
  • 用 SmartEdit 打开 SAP Commerce Cloud Storefront 时动态在 body 标签注入的 css cla
    当我们使用SAPSmartEdit打开SAPCommerceCloudStorefront时,在商户网站中,还必须在body标签中作为CSS类名包含以下唯一标识符:smartedit-page-uid-:指定指定目录和目录版本的唯一页面标识符。这是为了支持旧版实现而必需的。smartedit-page-uuid-:指定页面的全局唯一标识符(UU......
  • 相同更改数据量的前提下,单次COMMIT和多次COMMIT对日志空间浪费的影响对比
    LGWR进程按照顺序写在线日志,中间不会跳跃,而且LGWR进程不会在同一个日志快写2次,即使一次写入的日志快只占几个字节,下次不会再用了,这就造成日志空间的浪费。Oracle做一次Commit,就会触发LGWR进程进行日志缓冲到日志文件的写入操作,因此可以说更改相同数据量的前提下,如果提交过于频繁,产......