前情提示:有一天,我要实现一个效果→点击某个按钮改变一个全局变量,并且要让绑定了该变量的所有位置异步渲染。我试过用一个全局的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跑起来~~~
你会看到一个按钮上面有个“弱”,来回点击它,将会在“强/弱”之间来回切换。
多线程编程 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.可以让应用程序对计算机硬件竞争变的有序 一套完整的计算机分为:操作系统、应用程序、计算机硬件 编程语言的分类 机械语言:使用二进制让计算机工作 优点:运行...