Uni-app
uni-app目录结构
在新建uni-app时默认包含如下的目录及文件:
- components 用来存放uni-app组件的目录
- pages 用来存放整个uni-app所有的页面 例如:
- static 用来存放一些静态图片 例如:图片、图标、视频等。静态资源只能存放于此。
- 是用来配置App全局样式,是页面的入口文件,可以调用应用的生命周期函数。
- 是项目入口文件
- 用来配置应用打包的东西,配置应用名称、appid、logo、版本等打包信息
- 是用来设置整个项目页面的存放路径以及全局的外观,配置页面路由、导航条、选项卡等页面类信息
- 是常用的样式变量
uni-app全局配置和页面配置
用来设置应用的状态栏、导航条、标题、窗口颜色等等其他
属性 | 描述 |
---|---|
navigationBarBackgroundColor | 导航栏背景颜色 |
navigationBarTextStyle | 导航栏标题颜色 仅支持black/white |
navigationBarTitleText | 导航栏标题文字内容 |
backgroundColor | 窗口的背景颜色 |
backgroundTextStyle | 下拉loading的样式,仅支持 dark/light |
enablePullDownRefresh | 是否开启下拉刷新 |
onReachBottomDistance | 页面上拉触底事件触发时距离页面底部的距离,单位只支持px |
Tabber基本属性
如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页。
属性
属性 | 描述 |
---|---|
color | tab上的文字默认颜色 |
selectedColor | tab 上的文字选中时的颜色 |
backgroundColor | tab 的背景色 |
list | tab 的列表,详见 list 属性说明,最少2个、最多5个 tab |
position | 可选值 bottom、top |
其中list是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序,数组中的每一项都是一个对象。
属性 | 说明 |
---|---|
pagePath | 页面路径,必须在 pages 中先定义 |
text | tab 上按钮文字 |
iconPath | 图片路径,不支持网络图片,不支持字体图标 |
selectedIconPath | 选中时的图片路径 |
uni-app页面基本构成
<template>
<view class="content">
<image class="logo" src="/static/"></image>
<view class="text-area">
<text class="title">{{title}}</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
},
methods: {
}
}
</script>
<style>
</style>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
注意:
- 所有组件与属性名都是小写,单词之间以连字符-连接。
- 根节点为 template,这个 template下只能且必须有一个根view组件。这是vue单文件组件规范。
视图容器
名称 | 描述 |
---|---|
view | 视图容器 |
scroll-view | 可滚动视图区域 |
swiper | 滑块视图容器,一般用于轮播图 |
cover-view | 覆盖在原生组件上的文本视图 |
cover-image | 覆盖在原生组件上的图片视图 |
基础内容
名称 | 描述 |
---|---|
icon | 图标 |
text | 文本 |
rich-text | 富文本 |
progress | 进度条 |
除此之外还有很多组件,例如表单组件,导航栏,媒体组件等具体可参照uni-app基础组件
view组件
是一个块级元素
属性名 | 说明 |
---|---|
hover-class | 指定按下去的样式类。当 hover-class=“none” 时,没有点击态效果 |
hover-stop-propagation | 指定是否阻止本节点的祖先节点出现点击态 |
hover-start-time | 按住后多久出现点击态,单位毫秒 |
hover-stay-time | 手指松开后点击态保留时间,单位毫秒 |
button按钮组件的属性
属性名 | 说明 |
---|---|
size | 按钮的大小 |
type | 按钮的样式类型 |
plain | 按钮是否镂空,背景色透明 |
disabled | 是否禁用 |
loading | 名称前是否带 loading 图标 |
form-type | 用于 组件,点击分别会触发 组件的 submit/reset 事件 |
hover-class | 指定按钮按下去的样式类。当 hover-class=“none” 时,没有点击态效果 |
注意:
button-hover默认值为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}
form-type 有效值
值 | 说明 |
---|---|
submit | 提交表单 |
reset | 重置表单 |
uni-app中的样式
- rpx就是响应式px,根据屏幕宽度自适应的动态单位。
- 使用 @import语句可以导入外联样式表,后面需要跟外联样式表的相对路径
- 基本常用的选择器class、id、element等等。
- 在uni-app中不能使用*选择器。
- 在中的样式为全局样式,作用于每一个页面。在pages目录下的vue文件中定义的样式为局部样式,只在对应的页面管用,会覆盖中相同的选择器。
- 可以使用字体图标但是需要注意以下几点:
- 字体文字小于40kb,将会自动转化为base64格式;
- 字体文件大于40kb,需要自己转换,否则不生效;
- 字体文件的应用路径应使用以-@开头的绝对路径
@font-face{
font-family:testi-icon;
src:url('~@/static/');
}
- 1
- 2
- 3
- 4
uni-app中的数据绑定
和之前学的vue一样,在data中定义数据即可
export default{
data(){
return{
msg:'hello world'
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
利用插值表达式渲染基本数据
<view>{{mag}}</view>
- 1
还可以连接字符串:
<view>{{'你好'+'世界'}}</view>
- 1
基本运算:
<view>{{1+2}}</view>
- 1
v-bind和v-for的使用
v-bind动态绑定属性
在data定义一张图片,把这张图渲染到页面上:
export default{
data(){
return{
img:'http://destiny/image/'
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
利用v-bind进行渲染:
<image v-bind:src="img"></image>
- 1
还可以缩写成:
<image :src="img"></image>
- 1
v-for的使用
data中定义一个数组,最终将数组渲染到页面上
export default{
data(){
return{
arr:{
{name:'张三',age:18},
{name:'张1',age:18},
{name:'张6',age:18}
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
利用v-for进行循环:
<view v-for="(item,i) in arr" :key="i">名字:{{}}---年龄{{}}</view>
- 1