状态管理器

<!-- 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的更多相关文章

  1. Vue中 关于 ‘...mapGetters’的了解

    首先,我们应该知道getters是vuex中的特殊表达部分 不使用map辅助函数: computed: { test:()=> this.$store.getters.doSome } 使用ma ...

  2. Vue中Vuex的详解与使用(简洁易懂的入门小实例)

    怎么安装 Vuex 我就不介绍了,官网上有 就是 npm install xxx 之类的.(其实就是懒~~~哈哈) 那么现在就开始正文部分了 众所周知 Vuex 是什么呢?是用来干嘛的呢? Vuex ...

  3. vue vuex 大型项目demo示例

    1.vuex 动态模块配置 import Vue from 'vue' import Vuex from 'vuex' import store from '@/store'; // 使用Vuex插件 ...

  4. vue学习笔记(六)— 关于Vuex可以这样简单理解

    关于Vuex可以这样简单理解 作者:狐狸家的鱼 本文链接:关于Vuex GitHub:sueRimn 概念理解 和大多数文章都一样,从概念解释到引出问题再举例解决问题. 官网中,Vuex是状态管理模式 ...

  5. 应用四:Vue之VUEX状态管理

    (注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 概念:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应 ...

  6. Vue学习日记(四)——Vue状态管理vuex

    前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰 ...

  7. 用Vue来实现购物车功能(二)

    这个小demo具有添加商品进购物车 .增加购物车内商品的数量.减少购物车内商品的数量.计算一类商品的总价.以及计算所有商品的总价 首先看目录结构 因为我们的Tab.vue  Car.vue 以及Car ...

  8. vue全家桶(4.3)

    5.3.Vuex的核心概念 store: 每一个 Vuex 应用的核心就是 store(仓库)."store"基本上就是一个容器,它包含着你的应用中大部分的状态 (state) s ...

  9. 【Vue】Vue学习(四)-状态管理中心Vuex的简单使用

    一.vuex的简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.Vuex背后的基本思想,就是前面所说的单向数据流.图4就是Vuex实现单向数据流的示意图.    Store     ...

随机推荐

  1. vue的跳转方式(打开新页面)及传参

    1. router-link跳转 // 直接写上跳转的地址 <router-link to="/detail/one"> <span class="sp ...

  2. zp本地包

    https://pan.baidu.com/s/13670pdPNvG_o1coYFnovXA 密码: 3pk3

  3. android mk 预编译库

    LOCAL_PATH := $(call my-dir) #include $(CLEAR_VARS) # OpenCV #OPENCV_CAMERA_MODULES:=on #OPENCV_INST ...

  4. Qt 一张图片显示在其他组件之上

    图片放在QLabel上,注意设置QLable一些属性 QImage img("test.png"); img = img.scaledToWidth(,Qt::SmoothTran ...

  5. 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 ...

  6. ASP.NET LinqDataSource数据绑定后,遇到[MissingMethodException: 没有为该对象定义无参数的构造函数。]问题。

    问题出现的情形:LinqDataSource数据绑定到DetailsView或GridView均出错,错误如下: “/”应用程序中的服务器错误. 没有为该对象定义无参数的构造函数. 说明: 执行当前 ...

  7. [Golang] http.Post导致goroutine泄漏

    记录一个用http.Post的问题 if _, err := http.Post("http://127.0.0.1:8080", "", nil); nil ...

  8. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库

    编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...

  9. POJ 2386 DFS深搜入门

    题目链接 Time Limit: 1000MS Memory Limit: 65536K Description Due to recent rains, water has pooled in va ...

  10. 前端与算法 leetcode 28.实现 strStr()

    # 前端与算法 leetcode 28.实现 strStr() 题目描述 28.移除元素 概要 这道题的意义是实现一个api,不是调api,尽管很多时候api的速度比我们写的快(今天这个我们可以做到和 ...