使用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 相同 ...
随机推荐
- python3配置爬虫开发环境
爬虫:环境搭建 安装python3: 安装python版本:3.7.0 winsdows下的配置:
- Spark机器学习之MLlib整理分析
友情提示: 本文档根据林大贵的<Python+Spark 2.0 + Hadoop机器学习与大数据实战>整理得到,代码均为书中提供的源码(python 2.X版本). 本文的可以利用pan ...
- MyEclipse报错Access restriction: The type BASE64Encoder is not accessible due to restriction on required library
错误截图: 解决办法: 1.进入Project --> Properties --> Java Build Path --> Libraries 2.remove 掉 JRE Sys ...
- centos7下部署Redis
1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: 第一步:redis的源码包上 ...
- HDU 1350 Taxi Cab Scheme
Taxi Cab Scheme Time Limit: 10000ms Memory Limit: 32768KB This problem will be judged on HDU. Origin ...
- ZOJ 3288 Domination
D - Domination Time Limit:8000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Descr ...
- cocos2d-x 中XML解析与数据存储
一不小心就玩了一周的游戏了.哎.玩的时候时间过得总是这么快... 于是今天决定看一下之前不怎么非常熟悉的XML;(之前做游戏时数据的储存用到过XML,但这块是还有一个同事在做,所以不怎么熟悉), 看了 ...
- 《JAVA程序设计》实训第二天——《猜猜看》游戏
课程实训第二天,我在第一天的基础上去导入目录,第一天那时候一直改动都是改动不到,上网找了相关的知识.问了同学该怎么去导入显示图片. public class weiwei extends JFrame ...
- HDU 5228 ZCC loves straight flush( BestCoder Round #41)
题目链接:pid=5228">ZCC loves straight flush pid=5228">题面: pid=5228"> ZCC loves s ...
- POJ 2318 叉积判断点与直线位置
TOYS Description Calculate the number of toys that land in each bin of a partitioned toy box. Mom ...