首页 > 只需三分钟!只需创建一个vuex.js文件,让你马上学会使用Vuex,尽管Vuex是个鸡肋!(扔掉store文件夹和里面的index、getters、a

只需三分钟!只需创建一个vuex.js文件,让你马上学会使用Vuex,尽管Vuex是个鸡肋!(扔掉store文件夹和里面的index、getters、a

前情提示:有一天,我要实现一个效果→点击某个按钮改变一个全局变量,并且要让绑定了该变量的所有位置异步渲染。我试过用一个全局的js文件存放该变量,该变量值虽然改变了,但是没有做到异步渲染。接着我用window.全局变量的方式,尼玛!还没打开页面给我报错"全局变量 of undefined",我才想起页面还没加载完的时候window全局对象都是空值!这让我如何是好?于是我琢磨了下有个叫做Vuex玩意儿,故摆弄一下,也分享给大家!

我看了官方文档,也看了很多论坛大牛的博客,发现大家都在src下面创建一个sotre文件夹,然后创建4个文件:index.js、getters.js、actions.js、mutations.js。我去~搞这么麻烦???我差点就放弃了~


仔细琢磨了一番,发现就一个文件即可实现的事情非得搞那么麻烦,大家都很忙,何不让自己更加轻量化一点?终于明大部分程序猿发际线靠后、女朋友找不到的理由(坏笑)了,净花在这种冗余的开发上面了!不废话一个文件搞定,建议无脑复制直接淦!!!


在src/js文件夹下面创建vuex.js文件(注意文件名小写,避免和Vuex冲突)

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({//【全局变量】state: {//_qiangGe是全局变量名(我习惯_开头代表全局变量)_qiangGe: false,},//【获取值】getters: {_qiangGe: state => state._qiangGe,},//【中间件】mutations: {_qiangGe: (state, value) => (state._qiangGe = value),},//【修改值】actions: {//__qiangGe是全局方法(我习惯__开头代表全局方法)__qiangGe: ({ commit }, value) => commit('_qiangGe', value),},
});

在src/js/main.js中引入vuex.js(注意我的main.js和vuex.js是在同一个目录下的,所以参考自己项目的相对路径来引入,别和我一样)

//……这里省略若干代码片段import Vue from 'vue';
import vuex from './vuex';//……这里省略若干代码片段import App from '../vue/App';//这个是我的App.vue文件路径(仅供参考)
new Vue({ el: '#app', render: h => h(App), router, store:vuex });//这里store:vuex是关键(没它啥都别想干!)

然后去一个想要出发修改全局变量_qiangGe的vue页面加入如下代码

cnpm run dev跑起来~~~

你会看到一个按钮上面有个“弱”,来回点击它,将会在“强/弱”之间来回切换。

刚刚好3分钟过去了,你学会了吗?

更多相关:

  • 多线程编程 mind-Mapping保存有一下导图的xmind文件,可直接获取 互斥变量 互斥对象 ptrhead相关接口 条件变量 future异步访问类 async类 promise类 package_task类...

  • 我们在实际开发的过程中,可能需要某些类的成员变量并不是针对每一个对象的,而是针对每一个类而言的,比如在银行中有一个利率数据,我们希望的是,当一个利率改变的时候,所有的对象都能够看到这个改变的数据,并利用它,而不是每一个对象都有一个利率成员变量。这个时候就设计到了静态成员变量。 一. 内存那些事 静态成员变量是存放在静态...

  • volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触...

  •   引子     阅读以下代码,并尝试分析 代码解析 在主线程中,线程Id为1,为线程变量赋值 变量==d6ff开启一个新的task,此时线程Id为4,变量==d6ff,并调用Task1开启一个同步Task3,线程Id为1。变量==d6ff,修改值==f598此时第二步启动的Task1运行,线程Id为4,变量==d6ff,修改值=...

  • 操作系统基础    操作系统是协调、控制、管理计算机硬件资源与软件资源的控制程序 为什么要用操作系统?    1.操作系统可以把复杂的操作简化给用户使用或者应用程序  2.可以让应用程序对计算机硬件竞争变的有序  一套完整的计算机分为:操作系统、应用程序、计算机硬件 编程语言的分类   机械语言:使用二进制让计算机工作   优点:运行...