uni-app基础知识补充

这篇博客详细介绍了uni-app中vuex的初始化、模块(包括state、mutations、actions和getters)、常用API(系统信息和图片上传)、常用组件和自定义组件的创建与使用,还提及了第三方插件uView的配置和使用。
摘要由CSDN通过智能技术生成

vuex

初始化

  • store/index.js
import Vuex from 'vuex';
import Vue from 'vue';
Vue.use(Vuex)
export default new Vuex.Store({
   
	state:{
   },
	mutations:{
   },
	actions:{
   },
	getters:{
   },
	modules:{
   }
})
  • main.js
import store from './store/index.js'
Vue.prototype.$store = store;

vuex的模块

state:状态,存储数据

  • state定义数据
state:{
   
		gTitle:{
   
			title:"你好Vuex",
			color:"#f00",
			fontSize:"24px",
			backgroundColor:"#0f0"
		},
		joks:[],
	},
  • 在页面中使用:$store.state.gTitle.title
  • 修改只能通过mutations
  • 组件中简写
import {
   mapState} from 'vuex'
computed:{
   
	...mapState(["gTitle"])
}

mutations:修改数据的唯一方法

  • 定义
		//更改字体大小
		setSize(state,data){
   
			state.gTitle.fontSize = data + "px"
		},
		//更改背景颜色
		setBackgroundColor(state,data){
   
			state.gTitle.backgroundColor = data
		},
		setJok(state,data){
   
			state.joks = data
		}
  • 页面中使用:this.$store.commit(“setSize”,e.detail.value)
  • 简写
    1、导入:import {mapMutations} from ‘vuex’
    2、 methods:…mapMutations([“setFontSize”]),
    3、 使用:this.setFontSize(100)

actions:异步api操作

  • 定义
		getJok(context,data){
   
			uni.request({
   
				url:"http://520mg.com/mi/list.php",
				method:'GET',
				data:data,
				//axios get请求传参用params,post用data
				//uni.request,get与post都用data
				// content-type如果是application-json那么data是json
				//如果是urlencoeded  data就是url编码形式
				success:res=> {
   
					console.log("getJok",res)
					context.commit("setJok",res.data.result)
				}
			})
		}
  • 页面中使用:this.$store.dispatch(“getJok”,{page:1})

  • 简写:
    1、导入:import {mapActions} from ‘vuex’
    2、methods中计算:…mapActions([“getJok”]),
    3、onLoad中使用:this.getJok()

  • actions中的context
    1、commit:执行mutations方法
    2、dispatch:执行actions的方法
    3、state:数据
    4、getters:计算出来的是数据

getters:内部计算

  • 定义
"totalLen":function(state){
   
			var count = 0;
			for(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值