博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuex1.0你不知道的简单写法
阅读量:6899 次
发布时间:2019-06-27

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

在一些小项目中其实可以不用vuex的,但是在一些大型项目中,vuex必然是必杀技,可以使你方便使用,方便跟踪视图的状态。

1、编写store对象

define([], function() {    var Vue = require('vue')    var Vuex = require('src/libs/vuex/vuex.js')    Vue.use(Vuex)    var modelA= require('src/libs/vuex/modelA.js')    // 应用初始状态    var state = {        count: 2    }    // 定义所需的 mutations    var mutations = {        INCREMENT: function(state) {            state.count++        },        DECREMENT: function(state) {            state.count--        }    }//这一块可以引入模块对象     var store = new Vuex.Store({            state: state,            mutations: mutations,            modules: {                test: modelA            }        })        // 创建 store 实例    return store})复制代码

2、app中的vuex

需要在启动的时候也就是vue-cli脚手架中的app.vue中把store注入大根目录,一次注入终身受用。如图

vuex
用require引入
store,并注入到
vue的根组件。如果想要实现模块化状态控制,则参考以下3。
3、modelA书写方式
define([], function() {    var modelA = {        state:{            name: 3        },        // 定义所需的 mutations        mutations:{            INCREMENT: function(state) {                state.name++            },            DECREMENT: function(state) {                state.name--            }        }    }    return modelA;})复制代码

4、子组件中使用

vuex: {        getters: {            count: state => state.count//变量必须放这里,这里也可以是函数,当过滤器用        },        actions: {            increment:function(dispatch){                dispatch.dispatch('INCREMENT')//触发修改变量            },            decrement:function(dispatch)            {                dispatch.dispatch('DECREMENT')            }        }    },    created: function() {    },`复制代码

同时也可以这样用

this.$store.dispatch('DECREMENT');//触发方法this.$store.commit('DECREMENT');//触发方法vuex2,在actions里面触发的方法this.$store.state.count='ssss';//修改变量的值this.$store.state.test.name='ssss';//修改模块变量的值复制代码

5、测试实例

1、google浏览器的控制台

测试非模块化变量

2.测试模块化变量

模块化测试
  • 可以看出,dispatch会触发方法名相同的函数
  • 相对来说,vuex比window定义的数据更有模块性和追踪性。有问题可以随时交流。

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

你可能感兴趣的文章
快钱提现
查看>>
2016去哪儿编程题:字符替换
查看>>
一个优异的经理人,碰到糟糕的企业,最后往往存在的还是那间糟糕的企业(转)...
查看>>
[转]史上最全最强SpringMVC详细示例实战教程
查看>>
VMware Tools的安装
查看>>
Linux中常用的查看系统信息的命令
查看>>
能源项目xml文件标签释义--default-lazy-init
查看>>
Android 四大组件学习之ContentProvider四
查看>>
#include <sys/socket.h>找不到头文件
查看>>
CSS绘制简单图形
查看>>
一篇文章快速了解 量子计算机 (精心整理)【原创】 (2)
查看>>
SQL Server系统表sysobjects介绍与使用
查看>>
scala中Map和Tuple
查看>>
VUE 数据绑定
查看>>
021_nginx动态upstream检查
查看>>
Moogoose Constructor小坑
查看>>
Oracle报错:ORA-06508: PL/SQL: 无法找到正在调用的程序单元
查看>>
thinkphp自动完成、软删除 和时间戳
查看>>
线程的等待方法:join
查看>>
android 拍照声音文件路径
查看>>