使用vuex的流程随笔
1.在建好的vue项目中新建一个vuex文件夹在此文件夹下建一个index.js文件,在此文件下引入vuex 模块(当然需要先npm下载)和vue模块,在引入你所有的自定义的module.js模块(下边会讲module的内容),然后使用vuex
Vue.use(Vuex) ;在导出时新创建一个Vuex的Store的对象,在这个对象中使用modules:{把你自定义的模块赋值}代码如下:
import Vuex from 'vuex'
import Vue from 'vue'
import home from '../page/home/moudlehome.js';
import city from '../page/city/moudlecity.js';
Vue.use(Vuex);
export default new Vuex.Store({
modules:{
home:home, //this.$store.state.home
city:city //this.$store.state.city
}
})
2.在module.js中使用vuex的核心内容并发送axios请求(前提是在页面渲染完后就发送请求所以需要在总组件中设置mounted() { if(this.$store.getters.shouldGetData){
this.$store.dispatch("getSwiperInfo");
} }来传值给module中的actions并且在getSwiperInfo()函数中发送axios异步请求,代码如下:
import axios from 'axios';
export default {
//数据内容
state:{
swiperInfo: [],
swiperInfo1: []
},
//异步操作
actions:{
getSwiperInfo(context){
axios.get('/static/index.json')
.then((response)=>{
if (response.status === 200) {
const {data} = response.data;
context.commit("changeSwiperInfo",data)
}
})
}
},
//对数据内容的更新
mutations:{
changeSwiperInfo:(state,data)=>{
state.swiperInfo = data.swiperInfo;
state.swiperInfo1 = data.swiperInfo1
}
},
//对数据的二次包装对网页的一种优化
getters:{
shouldGetData(state){
if(!state.swiperInfo.length&&
!state.swiperInfo1.length){
return true;
}else{
return false;
}
}
}
}
3.在子组件中绑定并使用数据、
在子组件中使用
computed:{
swiperInfo(){
return this.$store.state.home.swiperInfo;
}
}
绑定数据
然后就可以在你的实例化循环中使用swiperInfo in item来使用数据了
使用vuex的流程随笔的更多相关文章
- vuex介绍和vuex数据传输流程
1.什么是vuex? 公共状态管理:解决多个非父子组件传值麻烦的问题:简单说就是多个页面都能用Vuex中store公共的数据 a.并不是所有的数据都要放在Vuex中,只有各个组件公用的一些数据会放在V ...
- Vue--- 使用vuex使用流程 1.0
Vuex 1.安装vuex npm install -save vuex 2. 引入 创建store文件夹目录 创建 vuex 指挥公共目录 store['state','action ...
- TT流程随笔
细节: 如果本地可以自动登录, 先实现本地登录,发送事件通知,再请求登录服务器 如果本地不可以登录(第一次或退出后),直接请求登录服务器 登录服务器返回消息服务器ip port / 文件服务器 链接消 ...
- vuex:使用思路总结
1. vuex是什么? 是一种数据状态管理机制. 2.vuex的构成和作用: state: 存放需要被管理的属性的对象 getters: 方便在state中做集中处理,可以把state作为第一个参数 ...
- 说一说Vuex有哪几种状态和属性
vuex的流程 页面通过mapAction异步提交事件到action.action通过commit把对应参数同步提交到mutation mutation会修改state中对应的值.最后通过getter ...
- vue2.0自学笔记
前言: 一.优点: 轻量级.高效率.上手快.简单易学.文档全面而简洁 二.功能: 1.模板渲染 2.模块化 3.扩展功能:路由.Ajax 三.课程包含: 1.Vue实例 2.Vue组件 3.Vue指令 ...
- vue 工作学习总结
配置ESlint yarn 初始化 yarn init yes 添加依赖 yarn add [package] 升级依赖 yarn upgrade [package] 移出依赖 yarn remove ...
- </2017><2018>
>>> Blog 随笔原始文档及源代码 -> github: https://github.com/StackLike/Python_Note >>> 统计信 ...
- React与Vue的相同与不同点
我们知道JavaScript是世界上最流行的语言之一,React和Vue是JS最流行的两个框架.所以要想前端的开发那么必须掌握好这两个框架. 那么这两个框架有什么不同呢? React 和 Vue 相同 ...
随机推荐
- 关于Number的属性和方法你知晓几分?速来围观!
1.Number.isFinite() 方法用来检测传入的参数是否是一个有穷数(finite number)返回值为布尔值. 和全局的 isFinite() 函数相比,这个方法不会强制将一个非数值的参 ...
- 前端JS 异常处理实践
前端异常处理,常见的场景是在“异步请求”的操作过程当中,所谓“异常”---就是“不正常”,程序的运行不符合我们的预期. 程序“正常”的处理,是我们在开发过程当中的“重中之重”,是必要的“硬性指标”. ...
- HDU 5918 Sequence I
题目来源:2016 CCPC 长春站 题意:给出两个序列 a[] , b[] ,如果b1,b2....bm能够与aq,aq+p,aq+2p...aq+(m-1)p对应( q+(m-1)p<=n ...
- H5图片上传、压缩
1.注册input file标签的onchange事件: 2.检查图片格式: 3.检查图片大小: 4.压缩图片 5.上传图片至服务器: 前端代码: document.getElementById('i ...
- mysql linux查看配置文件my.cnf位置
原文:mysql linux查看配置文件my.cnf位置 命令: mysql --help | grep 'Default options' -A 1
- C语言使用memcpy函数实现两个数间任意位置的复制操作
c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. 用法:void *memcpy(void *dest ...
- jquery中的jsonp跨域调用
jquery jsonp跨域调用接口
- js兼容性——获取当前浏览器窗口的宽高
通过onresize事件 window.onresize = function () { document.title = client().width + " "+ client ...
- Mysql学习总结(34)——Mysql 彻底解决中文乱码的问题
mysql 中常常出现对中文支持不友好的情况 常见的错误 "Illegal mix of collations for operation" 下面我们规整一下 mysql 数据库中 ...
- angular-Then的用法
then怎么使用(主要是如何从中提取出我们需要的后台返回的数据):then(fn) 方法中带一个参数,这个参数就是要被执行的函数,并且,这个作为参数的函数本身有一个参数,这个参数就是我们需要的数据,这 ...