博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuex 的概念和基础使用
阅读量:6227 次
发布时间:2019-06-21

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

本文只介绍概念的延伸和核心配置,对于vuex 各部分的概念, 已经写的足够清晰简洁。

1、vuex 是什么

基础概念

Vue 的状态管理模式,集中存储管理应用的所有组件的状态。

vuex的核心

vuex 是 架构的一种实现。Flux 的核心是单向流动:

views 层用户操作 dispatch 触发 action,action 触发 motation 对状态 state 进行修改。

Flux 架构对标 MVC 框架:

views -> store.action      -> mutations  -> stateviews -> controller.action -> model      -> database

个人理解

vuex 特性的两个关键字:集中统一

  • 集中是指组件共享的状态集中管理。
  • 统一是指改变状态使用统一的调用。

集中可以解决多个组件依赖同个状态的情况,统一则有利于调试。

2、vuex 何时用

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 global event bus 就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。

3、 vuex 基本配置

以下配置只应用于小型开发中,大型系统需要将各模块分离成不同的文件分别配置。

安装

# npm 安装npm install vuex --save# yarn 安装 yarn add vuex

使用

新建 store/index.js 文件,代码如下

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({    state: {        todos: [          { id: 1, text: '...', done: true },          { id: 2, text: '...', done: false }        ]    },    mutations: {       increment (state, payload) {        state.count += payload.amount      }     },    actions: {            },     // 可以理解为 store 的计算属性    getters: {       doneTodos: state => {          return state.todos.filter(todo => todo.done)        }     }});export default store

在 main.js 中引入store

import store from './store'new Vue({  router,  // 从根实例中注入,该store实例会注入到根组件下的所有子组件中。  store,  render: h => h(App)});

转载地址:http://lsxna.baihongyu.com/

你可能感兴趣的文章
Bzoj3781 小B的询问
查看>>
洛谷P1372 a/b problem
查看>>
UVa11762 Race to 1
查看>>
SQL类型转换和数学函数
查看>>
vue.js的学习
查看>>
插入排序的应用
查看>>
Retrofit2.0中注解使用方式
查看>>
Key-Value Coding Accessor 及其与KVC的关系
查看>>
把购买数据添加到购物车
查看>>
[磁盘空间]lsof处理文件恢复、句柄以及空间释放问题
查看>>
C#操作Control异步工具类
查看>>
由两个栈组成队列
查看>>
VirtrualBox使用已存在的镜像创建虚拟机
查看>>
python 拼图验证码
查看>>
JSOI2017 Round1 Day0
查看>>
Java面试题复习笔记(Web方向)
查看>>
第二次冲刺站立会议(3)
查看>>
java中的object... args参数
查看>>
笔试之大整数相乘
查看>>
转载笔记
查看>>