import Vue from 'vue'
// 这里引入vuex
import Vuex from 'vuex' Vue.use(Vuex)
export default new Vuex.Store({
// state里面的是全局的属性
state:{
num:0,
price:15,
name:'葡萄',
testList:[]
},
// mutations里面的是全局的方法 参数state是固定写法 可以获取参数
// 用这样的方式去调用 this.$store.commit('xxx');
mutations:{
add(state){
state.num++ ;
console.log(state.num)
}
},
// getters是Vuex里的属性计算参数state是固定写法 可以获取参数
// 调用方法 this.$store.getters.count
// Vuex的计算属性,在视图中当变量使用
// 计算属性依赖一个可变的属性 只要这个属性发生变化 这个函数就会自动执行
getters:{
count(state){
// 返回一个计算好的值
return state.num*state.price
}
},
// 异步方法 用这样的方式去调用 this.$store.dispatch('xxx');
actions:{
testActions(context){
// context里面包含了state mutations getters actions的方法及属性可以直接调用
// 执行一些异步的操作或者通用的ajax请求
setTimeout(()=>{
context.state.testList = ['大娃','二娃','三娃','四娃','五娃']
},2000)
}
}
})

html

<template>
<view>
<view>{{ datas }}</view>
<view>数量:{{ num }}</view>
<view>{{ name }}</view>
<view>总价:{{count}}</view>
<button type="primary" @click="add">add</button>
<button type="primary" @click="testActions">testActions</button>
<view>
<view v-for="(item,index) in testList" :key='index'>
{{item}}
</view>
</view>
<!-- <view>
<uni-calendar
:insert="true"
:lunar="true"
:disable-before="true"
:start-date="'2019-3-2'"
:end-date="'2019-5-20'"
@change="change"
></uni-calendar>
</view> -->
</view>
</template> <script>
// 把下载好的组件引进要使用的地方
import uniCalendar from '../../components/uni-calendar/uni-calendar.vue'; export default {
data() {
return {
datas: '',
// 可以值获取到name的值
name:this.$store.state.name
};
},
// 记得要在components里面去局部注册
components: {
uniCalendar
},
onReady() {
this.getajax();
},
computed: {
// 需要在计算属性里面设置
num() {
return this.$store.state.num;
},
count(){
return this.$store.getters.count;
},
testList(){
return this.$store.state.testList;
}
},
methods: {
getajax() {
uni.request({
url: 'https://bird.ioliu.cn/weather', //仅为示例,并非真实接口地址。
data: {
city: '北京'
},
header: {
'custom-header': 'hello' //自定义请求头信息
},
success: res => {
console.log(res.data);
this.datas = res.data.basic.city;
console.log(this.datas);
}
});
},
add() {
// 这里用this.$store.commit(xxx')去调用方法
this.$store.commit('add');
},
testActions(){
this.$store.dispatch('testActions');
}
}
};
</script> <style lang="scss">
uni-rate {
height: 200px;
}
</style>

uni-app学习记录06-Vuex简单使用的更多相关文章

  1. MyBatis 学习记录1 一个简单的demo

    主题 最近(N个月前)clone了mybatis的源码..感觉相比于spring真的非常小...然后看了看代码觉得写得很精简...感觉我的写代码思路和这个框架比较相似(很难具体描述...就是相对来说比 ...

  2. "美团"APP学习记录知识点

    1.APP进入加载广告视图展示: -(void)initAdvView{ // 判断图片是否已经存在 NSArray *paths = NSSearchPathForDirectoriesInDoma ...

  3. react+redux+react-router+node.js 开发实时聊天App 学习记录

    一.课程导学 1.React 主要解决的是UI层的问题,应用的状态需要借助Redux等状态管理. 2.前端React  +  antd-mobile UI组件库 + Redux 状态管理库 + Rea ...

  4. zeromq学习记录(一)最初的简单示例使用ZMQ_REQ ZMQ_REP

    阅读zeromq guide的一些学习记录 zeromq官方例子 在VC下运行会有些跨平台的错误 我这里有做修改 稍后会发布出来 相关的代码与库  http://download.zeromq.org ...

  5. git原理学习记录:从基本指令到背后原理,实现一个简单的git

    一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...

  6. UWP学习记录5-设计和UI之控件和模式2

    UWP学习记录5-设计和UI之控件和模式2 1.应用栏和命令栏 CommandBar 控件是一款通用.灵活.轻型的控件,可显示复杂内容(如图像或文本块)以及简单的命令(如 AppBarButton.A ...

  7. UWP学习记录4-设计和UI之控件和模式1

    UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...

  8. UWP学习记录1-开端

    UWP学习记录1-开端 1.背景 针对不同基础的人,学习的路线自然是不同的.这篇文章记录的是我个人的学习路线,或者说笔记.我对自己的技术状态的定义是: A.有很好的windows平台编程基础: B.有 ...

  9. 开源项目Material Calendar View 学习记录 (一)

    开源项目Material Calendar View 学习记录 Github: https://github.com/prolificinteractive/material-calendarview ...

  10. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

随机推荐

  1. java如何访问memcache

    1       Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的 ...

  2. 将CMD命令提示符的起始位置进行更改 / CMD起始位置发生改变后如何修改回来

    具体步骤如下: 1.首先我们需要先找到命令提示符所在的文件目录.可以在开始运行程序中输入CMD,一般回自动搜索匹配. 2.右键点击命令提示符,在弹出菜单中,选择“打开文件位置”: 3.然后我们就可以进 ...

  3. Primitive Topology

    原文:Primitive Topology 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/details/78 ...

  4. 廖雪峰Python总结3

    1.模块简介 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件中,这样每个文件包含的代码相对来说就比较少.一个.py文件就称之为一个模块(Module). 使用模块的好处: 提高了代码的可 ...

  5. CMake学习笔记二

    CMake预定义变量 PROJECT_SOURCE_DIR 工程的根目录 PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/build ...

  6. ie8 下margin-top失效的小案例

    一个小案例,是关于IE8下的margin-top的失效问题,巨日代码如下: 正常的chrome浏览器下的显示如下: margin-top=10px,正常显示 但是在ie8下,最终样式如下: margi ...

  7. R语言与非参数统计(核密度估计)

    R语言与非参数统计(核密度估计) 核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parz ...

  8. github中markdown语言的使用规则

    开始使用github就接触了markdown,确实如它的宗旨所言"易读易写",语法简洁明了,功能比纯文本更强,是一种非常适用于网络的书写语言.并且一大优点是兼容HTML,只要不在m ...

  9. 用div漂浮快实现与表单无关的多文件上传功能。

    我项目有这个需求,多文件上传,而且要及时显示到表单上,这样的话就不能与表单相关. 由于我对前端不熟,我就实现了这么一个功能,通过button触发一个div漂浮块,然后多文件上传,之后通过js把文件名显 ...

  10. 关于使用JavaMail发送邮件抛出java.lang.NoSuchMethodError: com.sun.mail.util.TraceInputStream.<init>(Ljava异常的解决方法

    我们在使用JavaMail时有可能会如下异常: Exception in thread "main" java.lang.NoSuchMethodError: com.sun.ma ...