Vue--- 使用vuex使用流程 1.0
2024-08-25 22:17:05
Vuex
1.安装vuex
npm install -save vuex
2. 引入 创建store文件夹目录
创建 vuex 指挥公共目录 store【'state','actions','mutations','getters','index'】
3.store -》index.js (所有的store下的都引入进去进行声明 )
import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import mutations from './mutations'
import actions from './actions'
import getters from './getters' Vue.use(Vuex) /* eslint-disable new-cap */ export default new Vuex.Store({
state,
mutations,
actions,
getters
})
4.在main.js
/*
入口JS
*/
import Vue from 'vue'
import App from './components/App'
import store from './store'
import './base.css'
/* eslint-disable no-new */ new Vue({
el: '#app',
// components:{App},
// template:'<App/>'
render: h => h(App),
store
})
5.在组件儿中使用
1.this.$store.dispath('addTodo');
2.import {mapActions} from 'vuex'
...mapActions('addTodo')
6.
state 对应的data存放数据对象 state.todos
mutations 操作变更state数据
[CLEAR_ALL_COMPLETED](state){
state.todos = state.todos.filter(todo => (!todo.complete))
}
getters 计算state 计算属性的方法都是i在这里
totalCount(state){ return state.todos.length }
actions 触发mutations中的方法 this.$store.dispatch('removeTodo')
/* 组件写 this.$store.dispath('') 调用这里的方法
接受组件通知触发 mutation调用间接状态的方法的对象
*/ import {ADD_TODO, DELETE_TODO, SELECT_ALL_TODOS, CLEAR_ALL_COMPLETED,RECEIVE_TODOS} from './mutation-types'
import storageUtil from '../utils/storageUtils.js'
export default {
addTodo ({commit}, todo) {
commit(ADD_TODO, {todo})
},
deleteTodo({commit},index){
commit(DELETE_TODO,{index})
},
selectAllTodos ({commit}, check) {
commit(SELECT_ALL_TODOS, {check})
},
clearALLCompleted({commit}){
commit(CLEAR_ALL_COMPLETED)
},
reqTodos({commit},todos){
setTimeout(()=>{
// 读取数据
const todos = storageUtil.readTodos()
// 提交数据
commit(RECEIVE_TODOS,todos)
},1000)
}
}
最新文章
- java工具类之Graphics
- C 语言中 setjmp 和 longjmp
- SQL入门语句之运算符
- activiti_SpringEnvironment
- 关于serialVersionUID的说明
- Java I/O流操作(二)---缓冲流[转]
- goahead 移植
- (一)IE8以下background不起作用
- 查看SQL Server 2008的版本及位数
- MySQL学习(一) 概述
- ubuntu16.04利用deb包安装mysql
- hashchange事件
- JDK源码阅读之Collection
- JavaScript 之arguments、caller 和 callee 介绍
- Netty源码分析第2章(NioEventLoop)---->;第4节: NioEventLoop线程的启动
- CSS3 实现的一个简单的";动态主菜单"; 示例[转]
- **优化--后端**: 计数缓存counter_cache; rack-mini-profiler(2300&#127775;) ; bullet(5000✨):侦测N+1query
- #Leetcode# 922. Sort Array By Parity II
- SPSS Clementine 数据挖掘入门1
- Reporting Service服务SharePoint集成模式安装配置(9、PowerPivot for SharePoint 安装配置详细)
热门文章
- mvc 中Request[";";]与Request.QueryString[";";]
- 【Java集合】LinkedList详解前篇
- 2.storm的安装
- js正则验证表达式
- Linux自有服务
- 转:如何利用已有的切片文件生成TPK
- Qt之QSS(Q_PROPERTY-原始属性)
- JSP + JavaBean + Servlet实现MVC设计模式
- Angular js ng-bind 和ng-module的区别
- 基本类型int强转short时发生了什么?