vuex this.$store,vue this.$store
这篇文章主要介绍了状态管理中这个. store.commit()和这个store.dispatch()区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
这个. store.commit()和这个store.dispatch()的区别提交:同步操作派遣:异步操作其他了解状态管理应用实例这个. store.commit()触发新建文件夹商店,商店下头部公共组件成分文件夹下
this.$store.commit()和this.$store.dispatch()的区别
两个方法其实很相似,关键在于一个是同步,一个是异步
commit: 同步操作
这个. store.commit(方法名,值) //存储
这个store.state .方法名 //取值
dispatch: 异步操作
这个. store.dispatch(方法名,值) //存储
这个store.getters .方法名 //取值
当操作行为中含有异步操作,比如向后台发送请求获取数据,就需要使用行为的派遣去完成了,其他使用犯罪即可。
其他了解
提交=突变,用来触发同步操作的方法。派遣=行动,用来触发异步操作的方法。在store中注册了mutation和action
在组件中用派遣调用行动,用犯罪调用变化
Vuex应用实例this.$store.commit()触发
新建文件夹store,store下
action.js
常量操作={}
导出默认操作;
getter.js
const getters={}
导出默认吸气剂
突变类型。射流研究…
export const public setevent= public setevent ;
突变。射流研究…
从""导入{publicSetEvent} ./突变类型;
常量突变={
[publicSetEvent]: (state,json)={
//初始化默认,避免跳转路由时的公用部分显示的相互影响
状态。public set={ head title:true,headNav: false,sTitle:头部标题}
//是否显示头部标题
状态。公共场景。头标题=JSON。标题 州名。公共场景。头标题;
//是否显示头部标签栏切换
状态。公共场景。头导航=JSON。航向导航 状态。公共场景。nav主管。
//头部显示的标题文字
状态。公共场景。s title=JSON。标题 状态。公共场景。的标题;
//tabbar的标题文字及待办标记数字
状态。公共场景。navlist=JSON。navlist 州。公共场景。navlist
}
}
导出默认突变;
索引。射流研究…
从“vue”导入某视频剪辑软件
从" vuex "导入状态管理
从导入突变。/突变;
从导入吸气剂./getters ;
从导入操作./actions ;
vue。使用(Vuex);
常量状态={
公共集:{//设置公共头
标题:没错,
导航标题:假,
标题: 头部标题
}
}
const store=new Vuex .商店({
状态,
吸气剂,
突变,
行动
});
导出默认存储;
头部公共组件components文件夹下
v字头。某视频剪辑软件
模板
div class=v-header
s title= public set。 head title :s title= public set。s标题/v标题
/div
/模板
脚本
从导入标题./v-title ;
从" vuex "导入{ mapState };
导出默认值{
名称:"五形头",
组件:{vTitle},
data(){
返回{
}
},
计算值:{
.mapState([publicSet])
}
}
/脚本
五-标题。某视频剪辑软件
模板
div class=" v-title "
x header:left-options= { back text: } :title= s title /x header
/div
/模板
脚本
从" vux "导入{ XHeader }
导出默认值{
名称:“v-title”,
道具:[stitle],
组件:{XHeader},
data (){
返回{
}
},
方法:{
}
}
/脚本
style lang=less
/风格
App.vue
模板
div id=应用程序
vHeader/vHeader
路由器-视图/
/div
/模板
脚本
从" @/组件/标题/垂直标题"导入vHeader
导出默认值{
名称:"应用程序",
组件:{vHeader}
}
/脚本
主页。射流研究…
从“vue”导入某视频剪辑软件
从导入应用程序 0.5/App
从导入路由器。/路由器
从" vuex "导入状态管理
从导入存储。/商店
Vue.use(Vuex)
Vue.config.productionTip=false
新Vue({
埃尔: #app ,
路由器,
店,
组件:{ App },
模板:"应用程序/"
})
页面调用索引。某视频剪辑软件
模板
div class=索引
/div
/模板
脚本
导出默认值{
名称:"索引",
data(){
返回{
}
},
已创建(){
},
beforeRouteEnter(收件人,发件人,下一个){
let option={
标题:没错,
标题:我是新标题
}
console.log(可选);
接下来(虚拟机={
vm。$store.commit(publicSetEvent ,option);
})
},
方法:{
}
}
/脚本
style lang=less
/风格
进入索引页面,您可以看到公共标题。
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。