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 ...
随机推荐
- vue的跳转方式(打开新页面)及传参
1. router-link跳转 // 直接写上跳转的地址 <router-link to="/detail/one"> <span class="sp ...
- zp本地包
https://pan.baidu.com/s/13670pdPNvG_o1coYFnovXA 密码: 3pk3
- android mk 预编译库
LOCAL_PATH := $(call my-dir) #include $(CLEAR_VARS) # OpenCV #OPENCV_CAMERA_MODULES:=on #OPENCV_INST ...
- Qt 一张图片显示在其他组件之上
图片放在QLabel上,注意设置QLable一些属性 QImage img("test.png"); img = img.scaledToWidth(,Qt::SmoothTran ...
- LeetCode 104. Maximum Depth of Binary Tree(二叉树深度)
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。
问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下: “/”应用程序中的服务器错误. 没有为该对象定义无参数的构造函数. 说明: 执行当前 ...
- [Golang] http.Post导致goroutine泄漏
记录一个用http.Post的问题 if _, err := http.Post("http://127.0.0.1:8080", "", nil); nil ...
- 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库
编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...
- POJ 2386 DFS深搜入门
题目链接 Time Limit: 1000MS Memory Limit: 65536K Description Due to recent rains, water has pooled in va ...
- 前端与算法 leetcode 28.实现 strStr()
# 前端与算法 leetcode 28.实现 strStr() 题目描述 28.移除元素 概要 这道题的意义是实现一个api,不是调api,尽管很多时候api的速度比我们写的快(今天这个我们可以做到和 ...