请按步骤一步一步来,耐心一点
初步认识:

单一的使用场景:

vuex使用场景:

当组件2 ---->用getter获取数据----->从store里面取
添加组件---->用mutations---->更改存储的数据
尝试做一个例子出来:
第一阶段:
(1.)建一个项目:

浏览器画面:

(2)添加数据简单整改。
(一):只对App.vue文件更改
(二):对组件1和组件2 文件填写代码

接下来是看看每个组件这3个组件做了哪些改动:
(App.vue文件)

(ProductListOne.vue文件<组件1>)

(ProductListTwo.vue文件<组件2代码>)

运行代码浏览器显示画面:

好了,到此步骤。建了一个项目跑起来了。属性传值,组件引入都已使用。
第二阶段:
vuex的引入:
打开终端,如果你的项目还在运行的话control + c停止项目
执行以下操作:

很好成功后打开项目:package.jason文件中的依赖关系中多了一个选项。

进入正题,如何把App.vue文件中的数据源的产品抽离出来,使用存储状态管理去存储使用,跟组件1和组件2去对接。
请往下看:

store.js文件。添加代码

下一步删除掉App.vue中数据的中的数据。以后我们将获取store.js文件中的状态数据。此时在看项目。浏览器网页(页面展示组件12标签展示没问题。却没有数据) :

接下来我们将对接vuex将储存的数据传入组件:
main.js文件中引入(由于store.js文件中初始化的时候(用出口修饰符)出口对外暴漏了,所以可以main.js文件可以引入使用):

更改App.vue文件代码:

组件的修改:

在运行项目(浏览器页面):

此时我们终于获取到商店里的数据了。
第三阶段:
Vuex getters获取数据
store.js添加的干将方法:

组件们的更改:

运行结果:

以上就是使用的干将方法调用商店中的方法。操作。
------------------------------------分割线---开始-------- ---------------------------------
谷歌浏览器安装扩展工具Vue.js devtools

运行项目再回到浏览器:

------------------------------------分割线---结束-------- --------------------------------
第四阶段:
变种实现:
更改Vuex的存储中的状态的唯一方法是提交mutation.Vuex中的突变非常类似于事件:每个突变都有一个字符串的 事件类型(类型) 和一个 回调函数(处理程序)。
实现普通的简单降价功能:


我们虽然实现了降价功能更改店仓库中的数据,但是VUE插件中,vuex捕捉不到更改的记录。
我们再做调整:

点击降价按钮浏览器页面执行效果:

此时已经追踪到了,你对商店仓库里的状态数据源进行的操作。触发了那些方法。做了怎样的修改。
第五阶段:
操作类似于变异,不同于在:
- 提交的行动是突变的,而不是直接更改状态。
- 动作可以包含任意异步操作。

运行效果:

dispath分发提交动作进一步发现,当我们点击了按钮,进入到动作里面后,2秒后才执行,价格才发生变化。这种方式更易于我们开发调试。
传参:自定义参数:

运行效果:

mapGetters和地图行动使用:

运行:

效果一样。更简洁。
本文详细介绍如何使用Vuex进行状态管理,包括项目搭建、状态存储、数据获取与更新等核心流程,并通过实例演示整个过程。
2万+

被折叠的 条评论
为什么被折叠?



