博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于vuex状态管理模式架构
阅读量:5322 次
发布时间:2019-06-14

本文共 1058 字,大约阅读时间需要 3 分钟。

一。 什么是vuex

        集中存储管理所有组件的状态 并以相应的规则保证以一种可预测的方式发生变化。

      例子: 实现加减

      

{

{count}}

  

const store = new Vuex.Store({   state: {       count: 0   },   mutations: {      inc: state => state.count++,      dec: state => state.count--   } });
computed: {  count() {     return store.state.count;   } },methods: {   inc() {     store.commit('inc');    },   dec() {     store.commit('dec');   }}

触发点击事件==》 调用methods对应方法==》通过 store.commit 触发store中的mutations对应的方法来改变state属性==>数据驱动视图

 

当我们遇到 多个组件共享状态时 那么单向数据流可能不满足我们的需求

global event bus 小型页面数据共享 Vuex 大型

  需要多个数据时   用mapState对象生成计算属性

import mystore from '@/vuex/mystore';  // 引入mapState  import { mapState } from 'vuex';  export default {    data () {      return {        msg: 'Hello world'      }    },    computed: mapState({      count: function(state) {        return state.count;      }    }),    /*     引用mystore.js,store为数据仓库     */    store: mystore  }

getters计算过滤操作

 

 

vuex允许我们在store中定义getters   

getter的返回值会根据它的依赖被缓存起来 只有依赖值发生改变才会重新计算

 

actions异步修改状态 mutations同步改变状态

转载于:https://www.cnblogs.com/moneyss/p/8619085.html

你可能感兴趣的文章
python学习第二篇
查看>>
[转] Download Images from Multiple Maps
查看>>
一次linux服务器Read-only file system的修复过程
查看>>
城市计算:给我们生活的城市装上了智能引擎
查看>>
最大子段和_算法与数据结构_Python
查看>>
python复习之路-Day01
查看>>
UVa 1613 - K-Graph Oddity
查看>>
C# 数字转换成大写
查看>>
54款开源服务器软件
查看>>
SQL Server2005/2008 作业执行失败的解决办法
查看>>
顺时针打印矩阵
查看>>
Linux for QQ 安装
查看>>
Map与Url查询参数相互转换
查看>>
equals
查看>>
XAF应用开发教程(三)业务对象模型之引用类型与关联关系
查看>>
从APM角度上看:NoSQL和关系数据库并无不同
查看>>
POJ 1128 食物链 - 并查集
查看>>
python 安装
查看>>
获取应用程序完整名称和分解目录
查看>>
STRUTS2 标签 循环次数
查看>>