vue辅助函数mapStates与mapGetters
状态管理器
<!-- store.js: -->
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: { // 需要管理的组件状态
loginState: '',
list: [1, 2, 3, 4, 5, 6, 7]
},
getters: { // 可以看做是state的计算属性,类似于组件中的data月computed
len (state) {
return state.list.length
}
},
mutations: { // 唯一改变状态的地方
changeLoginSatate(state, data) { // 代表的是初始化的数据,data代表需要改变的数据
state.loginState = data
}
},
actions: { // 异步操作
}
})
第二步:获取
import { mapState,mapGetters } from 'vuex' // 导入mapState
// 辅助函数...mapState
computed: {
...mapState({
loginState: (state) => { return state.loginState }
}),
},
// > 拿取数据
addCart () {
const { $store: { state: { loginState } } } = this
if (loginState === 'ok') {
console.log("加入购物车")
} else {
this.$router.push('/login')
}
},
辅助函数样式二
<!-- store.js: -->
state: { // 需要管理的组件状态
loginState: '',
list: [1, 2, 3, 4, 5, 6, 7]
},
getters: { // 可以看做是state的计算属性,类似于组件中的data月computed
len (state) {
return state.list.length
}
}
<!-- 调用页面: -->
import { mapState,mapGetters } from 'vuex'
// 辅助函数...mapGetters
computed: {
...mapGetters({
// len: (getters) => {
// len
// }
len: 'len'
})
},
// 拿取数据
{{ len }}
区别
state: { // 需要管理的组件状态
loginState: '',
list: [1, 2, 3, 4, 5, 6, 7]
},
getters: { // 可以看做是state的计算属性,类似于组件中的data里的computed !!!可以通过len(函数)把state里的数据处理好返回给函数本身,页面需要调用时直接引入辅助函数mapGetters,拿值
len (state) {
return state.list.length
}
}
vue辅助函数mapStates与mapGetters的更多相关文章
- Vue中 关于 ‘...mapGetters’的了解
首先,我们应该知道getters是vuex中的特殊表达部分 不使用map辅助函数: computed: { test:()=> this.$store.getters.doSome } 使用ma ...
- Vue中Vuex的详解与使用(简洁易懂的入门小实例)
怎么安装 Vuex 我就不介绍了,官网上有 就是 npm install xxx 之类的.(其实就是懒~~~哈哈) 那么现在就开始正文部分了 众所周知 Vuex 是什么呢?是用来干嘛的呢? Vuex ...
- vue vuex 大型项目demo示例
1.vuex 动态模块配置 import Vue from 'vue' import Vuex from 'vuex' import store from '@/store'; // 使用Vuex插件 ...
- vue学习笔记(六)— 关于Vuex可以这样简单理解
关于Vuex可以这样简单理解 作者:狐狸家的鱼 本文链接:关于Vuex GitHub:sueRimn 概念理解 和大多数文章都一样,从概念解释到引出问题再举例解决问题. 官网中,Vuex是状态管理模式 ...
- 应用四:Vue之VUEX状态管理
(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 概念:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应 ...
- Vue学习日记(四)——Vue状态管理vuex
前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰 ...
- 用Vue来实现购物车功能(二)
这个小demo具有添加商品进购物车 .增加购物车内商品的数量.减少购物车内商品的数量.计算一类商品的总价.以及计算所有商品的总价 首先看目录结构 因为我们的Tab.vue Car.vue 以及Car ...
- vue全家桶(4.3)
5.3.Vuex的核心概念 store: 每一个 Vuex 应用的核心就是 store(仓库)."store"基本上就是一个容器,它包含着你的应用中大部分的状态 (state) s ...
- 【Vue】Vue学习(四)-状态管理中心Vuex的简单使用
一.vuex的简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.Vuex背后的基本思想,就是前面所说的单向数据流.图4就是Vuex实现单向数据流的示意图. Store ...
随机推荐
- UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx'
UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx' 报错原因是 本来应该写空间的 ...
- linux查看实时日志命令
tail -f localhost_access_log.2018-12-11.txt(当前时间)今天的实时日志,操作一下系统,就会报出相应的日志
- Android Studio 3.0——unable to resolve dependency for cordovalib
Android Studio 3.0 更新了gradle后,项目竟然开始报错unable to resolve dependency for cordovalib...打开build.gradle看了 ...
- MySQL数据类型:UNSIGNED注意事项(转)
原文地址:https://www.cnblogs.com/blankqdb/archive/2012/11/03/blank_qdb.html 1. UNSIGNED UNSIGNED属性就是将数字类 ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之CDN内容分发网络
背景分析 EasyDSS流媒体解决方案提供一站式的转码.点播.直播.录像.检索.时移回放服务,极大地简化了开发和集成的工作,并且EasyDSS支持多种特性,完全能够满足企业视频信息化建设方面的需求.其 ...
- [Metricbeat] Metricbeat监控golang服务器
0x0 前言 最近这几天研究了一下ElasticSearch相关的技术栈.前面一篇转发了别人些的非常详细的ElasticSearch和Kibana搭建的过程.发现Elastic家族还有Metricbe ...
- 【论文阅读】PBA-Population Based Augmentation:Efficient Learning of Augmentation Policy Schedules
参考 1. PBA_paper; 2. github; 3. Berkeley_blog; 4. pabbeel_berkeley_EECS_homepage; 完
- linq to entity group by 时间
CreationTime是DateTime类型 group by 年/月/日/小时 group by 年 (from d in YourData.OrderBy(x => x.CreationT ...
- UE4 常用数学
转自:https://dawnarc.com/2016/07/mathlinear-algebra%E5%90%91%E9%87%8F%E7%A7%AF%E5%A4%96%E7%A7%AF%E5%8F ...
- QT源码分析:QObject
QT框架里面最大的特色就是在C++的基础上增加了元对象系统(Meta-Object System),而元对象系统里面最重要的内容就是信号与槽机制,这个机制是在C++语法的基础上实现的,使用了函数.函数 ...