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获取radio和select的属性并控制的代码
May 12 Javascript
JS时间选择器 兼容IE6,7,8,9
Jun 26 Javascript
AngularJS学习笔记之依赖注入详解
May 16 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
Sep 05 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
Easyui的组合框的取值与赋值
Oct 28 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
node.js通过axios实现网络请求的方法
Mar 05 Javascript
浅谈Vue render函数在ElementUi中的应用
Sep 06 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
javascript实现贪吃蛇游戏(娱乐版)
Aug 17 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
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制作静态网站的模板框架(三)
2006/10/09 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Js四则运算函数代码
2012/07/21 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
jquery实现数字输入框
2017/02/22 Javascript
jQuery实现frame之间互通的方法
2017/06/26 jQuery
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
Python ORM编程基础示例
2020/02/02 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
教师党员一句话承诺
2014/03/28 职场文书
合作协议书怎么写
2014/04/18 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
国际贸易实训总结
2015/08/03 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技