博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vuex学习
阅读量:5973 次
发布时间:2019-06-19

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

参考

配置Vuex

src下创建一个文件夹叫做vuex。里面定义三个文件。

mutation-types.js 定义类型的

// src/vuex/mutation-types.jsexport const SET_HEADER_TITLE = 'SET_HEADER_TITLE'

actions.js 操作,可以分解成多个文件

// src/vuex/actions.js/** * 用统一的函数处理并分发mutations。 * @param type * @returns {function({dispatch: *}, ...[*]): *} */function makeAction (type) {    return ({ dispatch }, ...args) => dispatch(type, ...args)}import {    SET_HEADER_TITLE} from './mutation-types'/** * actions */export const setTitle = makeAction(SET_HEADER_TITLE)

store.js 入口文件,在根组件调用,然后所有子组件可以共享数据。

// src/vuex/store.jsimport Vue from 'vue'import Vuex from 'vuex'//import createLogger from 'vuex/logger'Vue.use(Vuex)//Vue.config.debug = true//const debug = process.env.NODE_ENV !== 'production'// 导入各个模块的初始状态和 mutationsimport index from './modules/index'export default new Vuex.Store({    // 组合各个模块    modules: {        index    },    //strict: debug,    //moddlewares: debug ? [createLogger()] : []})

modules/index.js 只是例子用的,一个index的操作,需要定义数据的状态和mutation。actions.js只是分发操作。

// src/vuex/modules/index.jsimport {    SET_HEADER_TITLE} from '../mutation-types'const state = {    title: 'default',    info: {        name:''    }}const mutations = {    [SET_HEADER_TITLE](state, newTitle) {        state.title = newTitle    }}export default {    state,    mutations}

挂载store

// src/App.vueimport store from './vuex/store'import HeaderComponent from './components/header'import FooterComponent from './components/footer'export default {    store,    components: {        HeaderComponent,        FooterComponent    }}

获取数据及操作

// src/components/header.vue// 从vuex拿数据,然后渲染到页面上// 如果需要修改可以调用setTitleimport { setTitle } from '../vuex/actions'export default {    vuex: {        //获取vuex状态数据        getters: {            title: state => state.title,            info: ({index}) => index.info        },        //状态变更事件        actions: {            setTitle        }    }}

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

你可能感兴趣的文章
Delphi_02_Delphi程序的结构
查看>>
利用express搭建一个restful api 服务器
查看>>
(转)调整.NET控件WebBrowser的默认浏览器内核版本
查看>>
HDU4116 Fruit Ninja (2011 Asia ChengDu Regional Contest)
查看>>
2017day2
查看>>
IPSec
查看>>
关于使用Java开发Mis系统
查看>>
CSS 溢出文本显示省略号的方法(兼容 IE、FF、Chrome)
查看>>
[原创]Android从xml加载到View对象过程解析
查看>>
并发问题的资源与待准备
查看>>
C++基础
查看>>
【12-26】go.js
查看>>
HDU 1241 Oil Deposits
查看>>
脚印:关于扩展方法的使用
查看>>
标准文件描述符与标准文件句柄
查看>>
049_Search Lookup (二)
查看>>
Js apply方法详解
查看>>
Maven使用详解
查看>>
js jquery css 选择器总结
查看>>
《我想和你虚度时光》--------李元胜
查看>>