uniapp最全面的知识总结
只要你有Vue和小程序的开发经验,即可快速上手一套代码可以编译到10个平台
uni-app介绍
uni-app
由dcloud 公司开发的多端融合框架,一次开发多端运行是一个使用。
通过使用Vue.js
+小程序的api
来开发所有前端应用的框架,开发者编写一套代码,来实现多端混合开发Hybrid:
可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台
准备工具
使用uni开发前您需要安装:
- Hbuilderx (开发与编译工具)
- 微信小程序开发工具(微信小程序预览测试)
- 安卓模拟器/真机(市面上有多种模拟机)
注意事项:
hbuilder首次运行需要下载对应的插件
运行到安卓模拟器,有视图差别
运行可以需要一定的时间
有时需要不断刷新页面或重新运行
uni-app界面介绍
1.创建项目
2. 项目如何运行到多端
2.1 hbuilderx中的h5
运行
tip:首次运行需要安装插件
插件安装成功后关闭内置运行,从新打开
2.2 小程序运行
tip:首次运行需要设置,之后可直接运行
01 在微信开发工具设置-服务器端口
02 HBuilderx配置 微信开发工具的地址
03 运行设置
03.1 配置微信小程序id
04 运行(以上设置完毕就可以运行)
01 在微信开发工具设置-服务器端口
02 HBuilderx配置 微信开发工具的地址
03 运行设置
03.1 配置微信小程序id
04运行
在小程序成功运行案例
2.3 app || 模拟器运行
说明:不同的模拟器有不同的端口号:
夜神模拟器端口号:62001
海马模拟器端口号:26944
逍遥模拟器端口号:21503
MuMu模拟器端口号:7555
天天模拟器端口号:6555
雷电模拟器端口号:5554
tip:
app运行不出数据 大部原因写得不够标准
首次运行需配置模拟器端口号
首次运行需要安装插件
01 打开模拟器或者手机
02 配置模拟器的端口
03 运行到模拟器
01 打开模拟器或者手机
02 配置模拟器的端口
03 运行到模拟器
03.1 第一次运行需要下载插件
03.2 插件安装成功 开始运行
3. vue语法
3.1 模板语法
3.1.1. 文本渲染
{{表达式}}
v-text=“表达式”
//简单的js运算
{{2+3}}
//js方法调用
{{title.length}}
{{title.split("").reverse().join("")}}
//3元运算符
<view>{{title.length>15?'长度很长':'字少事大'}}</view>
v-html 富文本
3.1.2.条件渲染
v-if
v-else-if
v-else
v-show
三元运算符
3.1.3.列表选项
- 字符串,数字,列表,对象都可以遍历
- < view v-for=“(item,index) in list” :key=“index”>{{index+1}} {{item}} < /view>
- 一定要保证兄弟元素间的key值是唯一
3.1.4.属性绑定
<button v-bind:disabled=“true”>
<button :disabled="true">
3.1.5.表单绑定
01 默认
:value="单向绑定"
02 input
v-model=“双向绑定”
03
@change=“$event.detail.value”
事件,事件的值$event.detail.value
3.1.6.事件
01 事件绑定
<button v-on:click="响应"></button>
简写绑定
<button @ click="响应"> </button>
02 事件行内处理
<view @ click="num++"> </view>
03事件响应函数 (函数在methods定义)
<view @ click="say"> </view>
04事件传参
//$event 是一个固定写法 代表事件对象
不写参数
<view @ click="say"> </view>
等同于
<view @ click="say()"> </view>
等同于
<view @ click="say($event)"> </view>
say(str = "你好") {
// 弹出提示
uni.showModal({
title: str
})
}
3.1.7. uni-app页面
页面配置 pages.json
:
-
全局样式
globalStyle
:默认页面的样式会应用全局样式
页面写了style 配置,那么用的配置覆盖全局的配置 -
页面
pages
:path
页面路径;style
页面样式
3.1.8. vue选项
data数据
methods方法
computed计算
watch监听
directive指令
filter过滤
3.1.9 uni-app 的生命周期
vue生命周期
小程序的生命周期
小程序的全局方法
app全局方法
3.1.10. 组件
4.路由
4.1 路由组件
导航 (navigator)
<navigator url="../options/options" open-type="reLauch"></navigator>
//tip:文件名不能加后缀 .vue
//url 跳转的页面
//open-type打开类型:
//navigate跳转
//redirect重定向(当前页面不留历史纪录);
//navigateBack 返回
//reLauch 重启
//switchTab 跳转底部栏
4.2 路由传参
语法:
传递:
<navigator url="../options/options?count=5&title=life">选项</navigator>
接收:
onLoad(option) {
//option的值
this.count = option.count
uni.setNavigationBarTitle({
title: option.title
})
},
案例
4.3 路由api
4.3.1 路由跳转
methods: {
goOption() {
uni.navigateTo({
url: "../options/options"
})
},
}
4.3.2 重定向
uni.redirect({
url: "../options/options?count=100&title=来自js跳转"
})
4.3.3 返回
uni.navigateBack({ })
4.3.4 底部栏切换
uni.switchTab({ })
4.3.5 重启
uni.reLunch({ })
4.4 路由配置
4.5 获取当前页面 getApp
01 在app.vue 定义globalData:{num:100}
02 要使用的页面回去app
var app=getApp()
03 获取globalData的值
onShow(){
this.num=app.globalData.num
}
04 更新 globalData值
addNm(){
app.globalData.num++;
this.num=app.globalData.num
}
案例
4.6 获取页面栈信息 getCurrentPages
5. 条件编译
条件编译目的:不同的平台展示不同的特性与功能
5.1 模板条件编译:
APP
app端H5
网页端MP
小程序 :MP-WEIXIN
微信小程序
语法:
<!-- # ifdef H5 -->
H5:下载app 获取优惠卷
<!-- # endif -->
案例
5.2 css条件编译
/* #ifdef APP */
.active{color:red}
/* #endif */
5.3 js条件编译
// #ifdef APP-PLUS
uni.showModal({
title:"你好App用户"
})
// #endif
css+js案例
5.4 条件配置页面 pages.json
5.4.1 配置页面导航栏样式
“style”:{
"h5":{
"titleNView":{
"titleText":"我是H5"
}
},
"app-plus": {
"titleNView":false //隐藏导航栏
}
}
案例
5.4.2 配置显示页面路径
// #ifdef MP-WEIXIN || APP
{
"path":"pages/condition/we",
"style":{
"navigationBarTitleText": "小程序专有页面"
}
},
// #endif
案例
end。。。
更多推荐
所有评论(0)