VueX

作者: 解勾股 | 来源:发表于2019-05-08 00:15 被阅读0次

Vuex

是一个专为 Vue.js 应用程序开发的状态管理模式,采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,vuex可以帮助我们管理共享状态,适合开发大型单页应用

Vue Components 发出(Dispath)一个Actions commit(提交)到Mutations发出Mutate改变状态State再重新渲染(Render)Vue Components

安装vuex

npminstallvuex

在mian.js中引入vue

importvuefrom'vue'

importvuexfrom'vuex'

vue.use(vuex)

每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)

getter

Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像computed一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。

Mutation

mutations是唯一一个可以更改state的地方,同时必须同步修改数据

mutations: {

//可以向store.commit提供额外的参数,即载荷payload

increment(state,n=1) {

state.count+=n

   }

}

methods: {

CountIncrement() {

this.$store.commit('increment')

   }

}

可以写成对象,这样可以包含多个字段并且mutation会更容易读

mutations: {

increment(state,payload) {

state.count+=payload.amount

   }

}

store.commit('increment',{

amount:10

})

mapState辅助函数

import{

mapState

}from'vuex'

exportdefault{

computed() {

//使用对象展开运算符将此对象混入到外部对象中

...mapState({

       })

   }

}

使用常量替代 Mutation 事件类型

可以把这些常量放在单独的文件中可以让整个app的mutation一目了然

新建文件mutationType.js

exportconstSOME_MUTATION='SOME_MUTATION'

Action

可以做异步操作

store.dispatch('increment')

actions: {

incrementAsync({commit}) {

setTimeout(()=>{

commit('increment')

},1000)

   }

}

开发环境严格模式

strict:process.env.NODE_ENV!=='production'

全局混入

全局注册一个混入,影响注册之后所有创建的每个 Vue 实例。

//mutation.js中定义

Vue.mixin({

filters: {

num100(value) {

if(!Number.isInteger(value)) {

returnvalue

}else{

returnvalue>99?'99+':value

     }

   }

})

//在需要的页面中引入

import{mapMutations}from'vuex'

<spanclass="circle"v-if="item.path === '/cart'">{{totalCartCount|num100}}</span>

//使用竖线分隔

相关文章

  • VUEX基本介绍,包含实战示例及代码(基于Vue2.X)

    VUEX 1 VUEX基本介绍 1.1 官方API 1.2 什么是vuex 1.3 Vuex使用场景 1、Vuex...

  • 【文档笔记】-Vuex

    什么是vuex? vuex文档: https://vuex.vuejs.org/zh/[https://vuex....

  • vuex配置

    vuex配置 目录 vuex的五个核心 配置vuex vuex持久化 一、vuex五个核心概念 State 定义状...

  • Vuex

    安装Vuex cnpm install vuex --save-dev Vuex是什么? 这是[Vuex的官网](...

  • Vuex

    1.Vuex概述 2.Vuex基本使用 3.使用Vuex完成todo案例 1.Vuex概述 Vuex是实现组件全局...

  • vuex

    Vuex介绍: Vuex官网:http://vuex.vuejs.org/ Vuex是实现数据状态管理的技...

  • vuex+axios 的开发流程记录

    相关文档 vuex: https://vuex.vuejs.org/zh/ 是否有必要使用vuex vuex是vu...

  • 2019-06-07

    import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)...

  • 配置 vuex 和 vuex 本地持久化

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

  • vuex

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

网友评论

    本文标题:VueX

    本文链接:https://www.haomeiwen.com/subject/isnuoqtx.html