Vuex之理解Store的用法
网络编程 2021-07-04 18:32www.168986.cn编程入门
本篇文章主要介绍了Vuex之理解Store的用法,Store类就是存储数据和管理数据方法的仓库,实现方式是将数据和方法已对象形式传入其实例中
1.什么是Store?
说了,Vuex
就是提供一个仓库,Store
仓库里面放了很多对象。其中state就是数据源存放地,对应于与一般Vue
对象里面的data
(后面讲到的actions
和mutations
对应于methods
)。
在使用Vuex
的时候通常会创建Store
实例new Vuex.store({state,getters,mutations,actions})
有很多子模块的时候还会使用到modules
。
,Store
类就是存储数据和管理数据方法的仓库,实现方式是将数据和方法已对象形式传入其实例中。要注意一个应用或是项目中只能存在一个Store
实例!!
2.Store源码分析
class Store{ constructor (options = {}) { // 1.部分2个‘断言函数'判断条件 assert(Vue, `must call Vue.use(Vuex) before creating a store instance.`) // 在Store实例化之前一定要确保Vue的存在 assert(typeof Promise !== 'undefined', `vuex requires a Promise polyfill in this browser.`) //确保promise存在 // 2.结构赋值拿到options里面的state,plugins和strict const { state = {}, //rootState plugins = [], // 插件 strict = false //是否严格模式 } = options // 3.Store internal state创建store内部属性 this._options = options //存储参数 this._mitting = false //标识提交状态,保证修改state只能在mutation里面,不能在外部随意修改 this._actions = Object.create(null) //存储用户定义的actions this._mutations = Object.create(null) //存储用户定义的mutations this._wrappedGetters = Object.create(null) //存储用户定义的getters this._runtimeModules = Object.create(null) //存储运行时的modules this._subscribers = [] //存储所有堵mutation变化的订阅者 this._watcherVM = new Vue() //借用Vue实例的方法,$watch来观测变化 // 4.将dispatch和mit的this指向当前store实例 const store = this const { dispatch, mit } = this this.dispatch = function boundDispatch (type, payload) { return dispatch.call(store, type, payload)} this.mit = function boundCommit (type, payload, options) { return mit.call(store, type, payload, options)}}
逐步分析每一个模块。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:微信小程序 聊天室简单实现
下一篇:微信小程序 判断手机号的实现代码
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指