Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vuex - 项目结构目录及一些简单配置

vuex - 项目结构目录及一些简单配置

作者头像
xing.org1^
发布于 2018-05-17 07:41:55
发布于 2018-05-17 07:41:55
1.5K00
代码可运行
举报
文章被收录于专栏:前端说吧前端说吧
运行总次数:0
代码可运行

首先先正经的来一段官网的"忠告":

vuex需要遵守的规则:

一、应用层级的状态应该集中到单个 store 对象中。

二、提交 mutation 是更改状态的唯一方法,并且这个过程是同步的。

三、异步逻辑都应该封装到 action 里面。

文件目录结构

文件之间的关系:

store文件夹 - 存放vuex的系列文件

store.js - 引入vuex,设置state状态数据,引入getter、mutation和action

getter.js - 获取store内的状态

mutation.js - 更改store中状态用的函数的存储之地

action.js - 提交mutation以达到委婉地修改state状态,可异步操作

简单而又普通的写法

store.js文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import Vue from 'vue'

import Vuex from 'vuex'

import actions from './actions'

import mutations from './mutations'

Vue.use(Vuex)

const state = {

    a: '初始值',

    b: 'balabala...'

}

export default new Vuex.Store({

        state,

        actions,

        mutations

})

main.js文件中(从根组件注入store,就像注入router一样):

通过在根实例中注册 store 选项,该 store 实例会注入到根组件下的所有子组件中,且子组件能通过 this.$store 访问到。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import store from './store/index'

new Vue({

    el: '#app',

    router,

    store,

    ...

})

Getter.js 的简单配置( store 的计算属性,接受state为参数)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default {
        doneTodos: state = >{
            return state.todos.filter(todo = >todo.done)
        }
}

获取(某组件的计算属性内部):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
computed: {

    doneTodosCount () { 
        return this.$store.getters.doneTodosCount 
    }

}

可传参的getter属性的简单配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default{

    getTodoById: (state) => (id) => { 
        return state.todos.find(todo => todo.id === id) 
    }
}

获取(某组件的计算属性内部):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
computed: {

    getTodoById() { 
        return this.$store.getters.getTodoById(‘参数’)
    }

}

mutation.js简单配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default {

        increment(state) {

            //变更状态
            state.count++

        }

}

触发(组件中)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.$store.commit(state,payload)

actions.js简单配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default{

    action (context) {

    //异步操作

        setTimeout(()=>{

            //变更状态

            context.commit('mutationFunName',value)

        }}

}

触发(组件的)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.$store.dispatch('mutationFunctionName')
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
了解Vuex状态管理模式的理解强化指南
Vuex是什么呢?它是Vue的状态管理模式,在使用vue的时候,需要在vue中各个组件之间传递值是很痛苦的,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被改变,所有引用该值的地方就会自动更新。是不是很方便,很好用呢?
桃翁
2019/11/22
1.2K0
10.Vuex组件中的mapState、mapGetters、mapMutations、mapActions等辅助函数
可以将所有的Mutation事件,写入到一个单独的文件中,然后通过常量来替代,可以方便开发者对项目中所有Mutation
全栈程序员站长
2022/09/01
1.3K0
Vuex精简文档
Vuex 通过 store 选项,提供了一种机制将状态从根组件“注入”到每一个子组件中(需调用 Vue.use(Vuex)):
神葳
2021/01/22
8840
​轻松掌握vuex,让你对状态管理有一个更深的理解
Vuex 是一个专为 Vue.js 应用程序开发的 状态管理模式 。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
前端老鸟
2019/07/29
3.4K0
vuex知识笔记,及与localStorage和sessionStorage的区别
  首先,Vuex是什么,官网介绍说Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。我的理解就是Vuex就是类似于sessionStorage这样管理数据(本地存和取)的一种技术方案。
tandaxia
2020/02/25
2.6K0
vuex知识笔记,及与localStorage和sessionStorage的区别
Vue基础知识巩固之全面了解Vuex,比官方更易懂(上)
写项目很久了,偶尔用到Vuex也是用一些很浅显的功能,就是简单的存储一下用户信息,用的时候取一下,很少深入的使用,现在静下心来想给自己写个项目,在写的过程中,顺便把以往忽略的基础知识学习巩固一下,这篇文章就是记录一下学习Vuex的知识,既然是巩固知识,那那些基础的就直接一笔带过了。
十里青山
2022/08/07
8310
Vue基础知识巩固之全面了解Vuex,比官方更易懂(上)
Vuex 文档笔记
每个Vuex应用的核心是store(仓库)。这个store是一个容器,包含着应用中大部分状态。
前端_AWhile
2019/09/06
5820
Vuex
当一个组件需要获取多个状态的时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键:
小小杰啊
2022/12/21
1.2K0
Vuex详细介绍
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。这是官网的说法,其实很简单:就是一个加强版的data! 在单页应用中会有一个data函数,里面就存放了当前页面的一些数据。比如:
从入门到进错门
2019/06/11
1K0
vuex学习笔记
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
前端迷
2018/10/22
7380
vuex学习笔记
前端成神之路-Vuex
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享
海仔
2021/05/06
1.4K0
深入探索Vue Getters和mapGetters的原理及使用详解
在Vue.js的状态管理中,Vuex是一个非常重要的工具,它帮助开发者集中管理应用的状态。Vuex的核心概念包括state、mutations、actions、getters和modules。今天,我们要深入探讨其中一个关键部分:getters,以及它的相关辅助函数mapGetters。通过详细介绍getters的原理和实现过程,希望能帮助你更好地理解和使用它们。
繁依Fanyi
2024/07/01
3030
VueX的详细讲解
难道我们不能自己封装一个对象来管理吗?当然可以,只是我们要先想想VueJS带给我们最大的便利是什么呢?
zayyo
2023/11/13
2140
vue全家桶之vuex
状态管理可以简单理解为vue中的某些全局的data属性。 当组件状态增多时,整个应用和状态分散在每个组件和实例中。部分还会出现状态共享。这时最好的方案就是vuex。
一粒小麦
2019/07/18
1.5K0
vue全家桶之vuex
【Vue_06】VueX
一、Vuex 概述 1. 什么是 Vuex 1.Vuex 是为 Vue.js 应用程序开发的状态管理模式。采用集中式存储管理应用所有组件的状态,并以相应的规则保证状态以可预测的方式发生变化。 2.
用户8250147
2021/02/04
6350
【Vue_06】VueX
Vuex基本使用的总结
在 Vue 的单页面应用中使用,需要使用Vue.use(Vuex)调用插件。 使用非常简单,只需要将其注入到Vue根实例中。
用户1065635
2019/03/21
7430
前端模拟登录注册静态实现示例-实战
登录注册,说说登录,需要用户名,用户名的提示内容为请输入用户名,密码的提示为8-18位不含特殊字符的数字、字母组合。还有一个点击按钮。
达达前端
2022/04/13
2.4K0
前端模拟登录注册静态实现示例-实战
【初学者笔记】一文学会使用Vuex
VueX是适用于在Vue项目开发时使用的状态管理工具。Vue为这些被多个组件频繁使用的值提供了一个统一管理的工具——VueX。在具有VueX的Vue项目中,我们只需要把这些值定义在VueX中,即可在整个Vue项目的组件中使用。
一尾流莺
2022/12/10
4.7K0
【初学者笔记】一文学会使用Vuex
Vue中的Vuex详解
        C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新
陶然同学
2023/02/27
1.4K0
Vue中的Vuex详解
vuex 使用文档
安装 直接下载CDN 引用   <script src="/path/to/vue.js"></script>   <script src="/path/to/vuex.js"></script> npm   npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.use() 来安装Vuex。   import Vue from 'vue'   import Vuex from 'vuex'   Vue.use(Vuex)   Vuex 是一个专为Vue.js 应
用户1197315
2018/01/22
1.7K0
相关推荐
了解Vuex状态管理模式的理解强化指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验