vuex.js

状态(数据)管理
在vue中当我们管理数据的时候比较乱,我们要用到下面的这个库,vuex.js
Vuex介绍
每一个Vuex应用的核心就是store(仓库),他是用来存储数据的
"store" 基本上就是一个容器,它包含着你的应用中大部分的状态(state)。Vuex 和单纯的全局对象有以下两点不同
1.Vuex 的状态存储是响应式的
2.你不能直接改变 store 中的状态
vuex有6个概念
让我们看看怎么来创建一个创库
store 用来储存数据(状态)
new Vuex.Store({})
数据我们放到state里面
state:{}
让我们看看怎么来读取里面的数据
store.state.数据
接下来让我们看看怎么去修改数据
mutations: {}
我们怎么调mutations的数据
用commit()方法来调用
接下来让我们做一个小效果来看一下vuex在vue中怎么应用
我们做一个购物车加减按钮的效果
运行效果
<div id="app"></div>
<template id="tpl">
<div>
<tip></tip>
<but></but>
</div>
</template>
<script>
var store = new Vuex.Store({
state:{
count:0
},
mutations:{
jia (state) {
state.count++
},
jian (state) {
state.count--
}
}
});
var vm = new Vue({
el:"#app",
template:"#tpl",
components:{
tip:{
template:"<div>{{$store.state.count}}</div>"
},
but:{
template:`
<div>
<input type="button" value="+" @click="$store.commit('jia')"/>
<input type="button" value="-" @click="$store.commit('jian')"/>
</div>
`
}
},
store
});
</script>
我们从store里面获取的数据最好放到计算属性中
当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用mapState辅助函数帮助我们生成计算属性
下面我们做一个小的效果(注意:注释的计算属性和下面使用mapState辅助函数2个结果是相同的)
当映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组。
运行效果
<script>
//我们从store里面获取的数据最好放到计算属性中
var store = new Vuex.Store({
state:{
count:0,
num1:1,
num2:2
},
mutations:{
jia (state) {
state.count++
},
jian (state) {
state.count--
}
}
});
var vm = new Vue({
el:"#app",
template:"#tpl",
components:{
tip:{
//创建计算属性
// computed:{
// count(){
// return this.$store.state.count;
// },
// num1(){
// return this.$store.state.num1;
// },
// num2(){
// return this.$store.state.num2;
// }
// },
//使用mapState辅助函数
//computed:Vuex.mapState({
// count:state=>state.count,
//num1:state=>state.num1,
//num2:state=>state.num2
//}),
//mapState 传一个字符串数组
computed:Vuex.mapState(['count' , 'num1' , 'num2']),
template:"<div>{{count}}{{num1}}{{num2}}</div>"
},
but:{
template:`
<div>
<input type="button" value="+" @click="$store.commit('jia')"/>
<input type="button" value="-" @click="$store.commit('jian')"/>
</div>
`
}
},
store
});
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# vuex应用
# vuex教程
# vuex入门教程
# 图文+实例解析
# 如何使用 Vuex的入门教程
# vue基础入门之vuex安装与使用
# vuex入门最详细整理
# Vuex 快速入门(简单易懂)
# Vuex入门到上手教程
# 简单的三步vuex入门
# Vuex 入门教程
# Vuex简单入门
# Vue.js实战之Vuex的入门教程
# VUEX如何使用
# 让我们
# 做一个
# 他是
# 多个
# 要用
# 可以使用
# 购物车
# 当我们
# 方法来
# 创建一个
# 含着
# 中大
# 解决这个问题
# 大家多多
# 加减
# 两点
# 结果是
# Store
# 创库
# li
相关文章:
建站之星微信建站一键生成小程序+多端营销系统
如何在万网主机上快速搭建网站?
建站之星安装后如何配置SEO及设计样式?
宝塔建站无法访问?如何排查配置与端口问题?
定制建站哪家更专业可靠?推荐榜单揭晓
,在苏州找工作,上哪个网站比较好?
大连网站设计制作招聘信息,大连投诉网站有哪些?
Android使用GridView实现日历的简单功能
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何通过IIS搭建网站并配置访问权限?
香港服务器租用费用高吗?如何避免常见误区?
如何用PHP工具快速搭建高效网站?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何用低价快速搭建高质量网站?
如何在VPS电脑上快速搭建网站?
如何在IIS中新建站点并解决端口绑定冲突?
制作农业网站的软件,比较好的农业网站推荐一下?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何选择香港主机高效搭建外贸独立站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
北京企业网站设计制作公司,北京铁路集团官方网站?
孙琪峥织梦建站教程如何优化数据库安全?
如何高效利用亚马逊云主机搭建企业网站?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何登录建站主机?访问步骤全解析
如何快速搭建个人网站并优化SEO?
如何快速完成中国万网建站详细流程?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
制作营销网站公司,淘特是干什么用的?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网页设计网站制作软件,microsoft office哪个可以创建网页?
香港服务器部署网站为何提示未备案?
如何实现建站之星域名转发设置?
大连 网站制作,大连天途有线官网?
C#怎么使用委托和事件 C# delegate与event编程方法
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
,交易猫的商品怎么发布到网站上去?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
一键网站制作软件,义乌购一件代发流程?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在腾讯云服务器上快速搭建个人网站?
建站之星图片链接生成指南:自助建站与智能设计教程
宿州网站制作公司兴策,安徽省低保查询网站?
完全自定义免费建站平台:主题模板在线生成一站式服务
电商网站制作公司有哪些,1688网是什么意思?
*请认真填写需求信息,我们会在24小时内与您取得联系。