app.json
实例
标签名称
属性结点
模块语法
rpx尺寸单位
css选择器
小程序宿主环境
通信主体
通信模型
运行机制
视图容器
表单组件
其他常用组件
API
pages
:放页面utils
:放模块app.js
:小程序入口文件app.json
:小程序全局配置app.wxss
:全局样式project.config.json
:项目配置文件sitemap.json
:配置小程序及其页面是否允许被微信索引.js
:【页面脚本文件】 存放页面数据,事件处理函数.json
:【当前页面配置文件】 配置窗口外观。表现.wxml
:【页面模块结构文件】wxss
:【当前页面的样式文件】全局配置 所有页面路径、窗口外观、界面表现、底部tap等
pages
:记录所有小程序路径window
:全局定义小程序所有页面背景色、文字颜色等style
:全局定义小程序组件所使用的样式版本sitemaplocation
:指明stiemap.json
的位置对开发者工具的个性化配置
setting
:保存编译器相关配置projectname
:保存项目名称appid
:保存小程序的账号id小程序页面是否允许被微信搜索
此页面的配置文件,会覆盖全局配置文件
当前有两个页面:index和logs,接下来新建一个list页面
操作方法:在app.json
的pages
数组中添加list
项,并保存
保存后,pages目录下会多一个list文件
一点说明:仔细观察你的 编译器调试窗口,你会发现list
页面似乎被覆盖了,如果你和我一样,将list
页面写在pages
数组的第一行,那编译器目前显示的就是index
页面。就是说,页面的显示顺序和路径在pages
数组的位置有关。
标签语言,构建小程序页面结构
view
:实现布局
text
:文本元素
image
:图像元素
navigator
:导航跳转
数据绑定
列表渲染
条件渲染
样式语言
在不同大小的屏幕上自动单位换算
app.json
是全局样式
页面的.json
是局部样式
.class
和 #id
element
::after
和::before
等伪类选择器app.js
:小程序项目入口,通过调用App()
方法启动整个小程序Page()
方法创建并允许此页面程序运行所必须依赖的环境
所以微信是小程序的宿主环境
通信的主体的渲染层和逻辑层
1、逻辑层和渲染层
2、逻辑层和第三方渲染器
均由微信客户端进行转发
启动过程
app.json
全局配置文件app.js
小程序入口文件,调用APP()
创建小程序实例页面渲染过程
.json
配置文件wxml
模版和wxss
样式.js
文件,调用Page()
创建页面实例由宿主环境提供
常用组件
视图容器
基础内容
表单组件
导航组件
view
:普通视图容器,块级元素,实现布局效果
scroll-view
:实现滚动的列表视图
swiper
和swiper-item
:轮播图容器组件和轮播图项目组件
实现如下效果
首先要将list
设置为首页,方法之前提过
修改list.wxml
<!--pages/list/list.wxml-->
<!--view 默认占满一行-->
<view class = "container1">
<view>A</view>
<view>B</view>
<view>C</view>
</view>
修改list.wxss
文件
/* 设置container的格式*/
.container1 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
/* 设置子container1的颜色*/
.container1 view:nth-child(1){
background-color: lightblue;
}
.container1 view:nth-child(2){
background-color: lightgreen;
}
.container1 view:nth-child(3){
background-color: lightyellow;
}
.container1 {
/* 横向放置*/
display: flex;
/* 分散对齐*/
justify-content: space-around
}
实现如下滚动效果:
修改list.wxml
<!--轮播图区域-->
<!--indicator-dots 属性:显示面板指示点-->
<!--使用纵向滚动时,必须给scroll-view一个固定高度-->
<swiper class = "swiper-container" indicator-dots>
<!--第一项-->
<swiper-item>
<view class="item">A</view>
</swiper-item>
<!--第二项-->
<swiper-item>
<view class="item">B</view>
</swiper-item>
<!--第三项-->
<swiper-item>
<view class="item">C</view>
</swiper-item>
</swiper>
修改list.wxss
文件
/* 设置container的格式*/
.swiper-container{
height: 150px; /* 设置轮播图容器高度*/
}
/* 设置item样式*/
.item {
height: 100%;
line-height: 150px;
text-align: center;
}
/* item添加背景色*/
/* nth-child(1) .item 中间有一个空格,表示逗号*/
swiper-item:nth-child(1) .item{
background-color: lightblue;
}
swiper-item:nth-child(2) .item{
background-color: lightyellow;
}
swiper-item:nth-child(3) .item{
background-color: lightgreen;
}
注意看和实例1的不同之处
实现轮播图效果:
修改list.wxml
<!--scroll-x属性:允许横向滚动-->
<!--scroll-y属性:允许纵向滚动-->
<!--使用纵向滚动时,必须给scroll-view一个固定高度-->
<scroll-view class = "container1" scroll-y>
<view>A</view>
<view>B</view>
<view>C</view>
</scroll-view>
修改list.wxss
文件
/* 设置container的格式*/
.container1 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
/* 设置子container1的颜色*/
.container1 view:nth-child(1){
background-color: lightblue;
}
.container1 view:nth-child(2){
background-color: lightgreen;
}
.container1 view:nth-child(3){
background-color: lightyellow;
}
.container1 {
border: 1px solid red;
/* 给scroll-view固定高度*/
height: 120px;
width: 100px;
}
text
文本组件,行内元素rich-text
富文本组件把html
字符串渲染为wxml
结构实现如下效果:
修改list.wxml
<!-- text 和 rich-text 的用法-->
<view>
手机支持长按选中的效果
<text user-select>985211</text>
</view>
<rich-text nodes="<h1 style = 'color: red;'>标题</h1>"></rich-text>
使用rich-text
的场景:当得到html
文件时,需要渲染为wxml文件
注:手机的长按选中效果要在真机上测试
点预览:
button
:按钮组件image
:图片组件,默认宽300px,高240pxnavigator
:页面导航组件效果如下:
修改list.json
:
<view> ~~~~~~~~~通过type指定类型~~~~~~~ </view>
<button>默认按钮</button>
<button type="primary">原始按钮</button>
<button type="warn">警告按键</button>
<view> ~~~~~~~~~~size = "mini"~~~~~~~~~~ </view>
<button size="mini">小按钮</button>
<button type="warn" size="mini">小warn</button>
<view> ~~~~~~~~~~plain镂空效果~~~~~~~~~~ </view>
<button plain>镂空</button>
先来个实例:
修改list.wxml
:
<!--渲染空图片-->
<image></image>
<!--使用src指定图片位置-->
<image src="/pages/images/a.jpg" mode="widthFix"></image>
修改list.wxss
:
image {
border: lightblue 1px solid;
}
mode属性
scaleToFill
:默认值,使图片拉伸填充至整个image元素(不按比例缩放aspectFit
:完整显示长边aspectFill
:完整显示短边widthFix
:宽度同image元素,高度自动变化heightFix
:高度同image元素,宽度自动变化我的思考:除非image元素和图片的比例一样,不然都是要缩放的图片的长宽、image元素的长宽及image元素的比例共五个标准,对应上面五个属性。
官方分为三大类
on
开头,监听某些事件的触发Sync
结尾,结果是函数返回值或异常success
,fail
,complete
接收结果手机扫一扫
移动阅读更方便
你可能感兴趣的文章