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


Posted in Javascript onApril 08, 2018

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

vuex需要遵守的规则:

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

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

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

文件目录结构

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

文件之间的关系:

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

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

getter.js - 获取store内的状态

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

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

简单而又普通的写法

store.js文件:

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 访问到。

import store from './store/index'
new Vue({
 el: '#app',
 router,
 store,
 ...
})

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

export default {
  doneTodos: state = >{
   return state.todos.filter(todo = >todo.done)
  }
}

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

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

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

export default{

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

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

computed: {
 getTodoById() { 
  return this.$store.getters.getTodoById(‘参数')
 }
}

mutation.js简单配置:

export default {
  increment(state) {
   //变更状态
   state.count++
  }
}

触发(组件中)

this.$store.commit(state,payload)
actions.js简单配置:
export default{
 action (context) {
 //异步操作
  setTimeout(()=>{
   //变更状态
   context.commit('mutationFunName',value)
  })
 }
}

触发(组件的)

this.$store.dispatch('mutationFunctionName')
2018-04-07 18:13:34

总结

以上所述是小编给大家介绍的vuex 项目结构目录及一些简单配置介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
AngularJS实现注册表单验证功能
Oct 16 Javascript
JavaScript判断日期时间差的实例代码
Mar 01 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
js实现鼠标切换图片(无定时器)
Jan 27 Javascript
JS求Number类型数组中最大元素方法
Apr 08 #Javascript
angular2模块和共享模块详解
Apr 08 #Javascript
vue下拉列表功能实例代码
Apr 08 #Javascript
详解Vue-cli webpack移动端自动化构建rem问题
Apr 07 #Javascript
vue-cli开发环境实现跨域请求的方法
Apr 07 #Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 #Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 #Javascript
You might like
PHP中echo和print的区别
2014/08/28 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
深入探究Django中的Session与Cookie
2017/07/30 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
Python字符串的常见操作实例小结
2019/04/08 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
Python分类测试代码实例汇总
2020/07/23 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
函授教育个人学习的自我评价
2013/12/31 职场文书
中学教师教育感言
2014/02/21 职场文书
经管应届生求职信范文
2014/05/18 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书