uni-app 是使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。
跨平台发行,运行体验更好
与小程序的组件、API一致;
通用前端技术栈,学习成本更低
支持vue语法,微信小程序API
支持微信小程序自定义组件及JS SDK
插件丰富,DCloud将发布插件到市场
1.创建
2.了解全局文件
pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。
它类似微信小程序中app.json的页面管理部分。注意定位权限申请等原属于app.json的内容,在uni-app中是在manifest中配置。
App.vue是uni-app的主组件,所有页面都是在App.vue下进行切换的,是页面入口文件。但App.vue本身不是页面,这里不能编写视图元素,也就是没有template。
这个文件的作用包括:调用应用生命周期函数、配置全局样式、配置全局的存储globalData
manifest.json 文件是应用的配置文件,用于指定应用的名称、图标、权限等。HBuilderX 创建的工程此文件在根目录,CLI 创建的工程此文件在 src 目录。
1.H5
2.小程序
先设置
在运行
3.APP
先下载模拟器
在进行配置
夜神模拟器端口号:62001
海马模拟器端口号:26944
逍遥模拟器端口号:21503
MuMu模拟器端口号:7555
天天模拟器端口号:6555
雷电模拟器:5554
在运行
条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。
写法:以#ifndef 加 平台名称 开头,以 #endif 结尾。
#ifdef:if defined 仅在某平台存在
#ifndef:if not defined 除了某平台均存在
1.初始化
创建一个store文件夹,在该文件夹下创建index.js文件
//导入vuex
import Vuex from ‘vuex’
//导入vue
import Vue from ‘vue’
//使用vuex
Vue.use(Vuex)
//导出vuex
export default new Vuex.Store({
//状态
state:{},
//改变状态的唯一方法
mutations:{ },
//异步api操作
actions:{},
//内部计算
getters:{},
//模块
modules:{}
})
需要在main.js中配置
2.state定义数据
定义
使用
修改
mutations改变数据
setFontSize (state,data) { state.gTitle.fontSize=data+“px”}
在页面中使用 this.$store.commit(“setFontSize”,80)
3.actions异步操作
在页面中使用 this.$store.dispatch(“get]ok”,{page:1})
导入import {mapActions} from ‘vuex’
计算methods:{…mapActions[“getJok”"]}
使用this.getJok
4.getters 计算
在页面使用
1.进入插件市场安装所需插件(uView)
使用HBuilderX导入插件
2.使用插件
安装完后会出现这个文件夹
进去uView官网查看官方文档
https://www.uviewui.com/components/button.html uView官网
配置
根据官方文档配置
1.
2.
3.
4.
配置完成后选择自己所需的组件,去使用它
文件夹components/组件名/组件名.vue
不需要导入在页面中直接使用
uni_modlues/components/组件名/组件名.vue(这种模式也是可以)
组件传参
1.父传子
父通过属性的方式传递子组件
子通过props接收
props: { value: { type: Number, default: 1}}
2.子传父
子触发事件
this.$emit(" input",this.count)
父监听事件更新值
3.全局传参
全局发送事件
uni.$on("事件名“,“事件值”)
全局监听(发送事件前已经注册监听)
created生命周期
uni.$on(”事件名",$event=>{响应操作})
1.uni.getSystemInfoSync() 获取系统信息
2获取胶囊信息uni.getMenuButtonBoundingClientRect()
3.uni.chooseImage()
选择图片
4.uni.uploadFile()上传
5.uni.previewImage()预览图片
6.uni.saveImageToPhotosAlbum()下载本地
7.uni.share()分享