页面文件

页面构造器 JS文件

页面的JS文件,用于书写当前页面所需要的脚本代码以及生命周期函数。

Page() : 注册了一个页面

接收一个对象,该对象用于配置当前页面所需内容。

该对象拥有的属性:

data: 当前页面初始化的时候所需要的数据onLoad: 当前页面被加载的时候所执行的函数(生命周期函数)onReady: 当页面渲染完毕时所执行的函数(生命周期函数)onShow: 当页面从后台显示为前台时 或者第一次渲染出现(生命周期函数)onHide: 当页面从前台进入后台时 (生命周期函数)onUnload: 当页面被卸载的时候(生命周期函数)onPullDownRefresh: 事件函数 当下拉刷新时 执行的函数onReachBottom: 事件函数 当上拉触底时 执行的函数onShareAppMessage: 事件函数 当用户点击右上角的分享按钮时 执行的函数

页面配置文件 JSON文件

该文件是针对单个页面的配置 与app.json类似。

页面结构文件 WXML文件

该文件是当前页面的骨架文件 等效于纯HTML文件

样式文件 WXSS文件

该文件只负责当前页面的样式 等效于CSS文件

组件

所谓的组件,其实就是HTML中的标签。微信将原本的HTML标签封装了一次,然后叫做组件。

因为封装了,所以原来的属性,方法,JS包都将无法在这里使用。

渲染页面

微信小程序是双线程的。一个线程负责渲染样式,另一个线程负责执行JS脚本。

将数据渲染到页面使用的是插值语法:<text>{{title}}</text>

{{}}并没有真的开启一个JS执行环境,而仅仅是能够执行运算。所以说是一个伪环境。

数据驱动

页面上的内容,以及事件的触发,通常是通过数据进行驱动的。

属性

组件拥有属性,就好像HTML标签拥有属性一样。

HTML标签属性分类:

通用属性: id、class、style、hidden、data-*非通用属性:a标签的href 资源标签的src 图像标签的width、height通用属性和非通用属性都叫做HTML标准属性。

组件的属性分类:

通用属性:

id: 组件idstyle: 组件样式class: 组件类名hidden: 是否隐藏组件data-*: 自定义属性bind-* catch-*: 绑定事件

非通用属性:例如各个资源标签的src等属性

事件

在微信小程序中,事件也分两类。一类是通用事件 一类是非通用事件

通用事件:

touchstart: 触摸开始事件touchmove: 触摸移动事件touchend: 触摸结束事件touchcancel: 触摸取消事件tap: 轻触longTap: 长按longPress: 长按animationstart: 动画开始animationend: 动画结束animationinteration: 动画执行多次,每执行一次就触发一次transitionend: 过渡结束事件

非通用事件:

表单的submit事件

组件介绍

view组件

该组件等价于DIV。

该组件有四个特有属性:

hover-class: 点击一下之后短暂出现的类。hover-start-time: 点击一下之后 hover-class多久会出现hover-stay-time: 点击一下之后 hover-class停留多久hover-stop-propagation: 是否阻止冒泡 只对hover-class属性有效 阻止的是父组件的hover-class

demo:

<!--pages/view/view.wxml-->
<view hover-class='blue'>
呵呵
<view hover-class='red' hover-start-time='1000' hover-stay-time="2000" hover-stop-propagation='true'>你好</view>
</view>

点击子组件

点击父组件

text组件

该组件等价于SPAN。

该组件的特殊属性:

space: 处理空白符的

默认: 空白折叠nbsp:     根据字体设置emsp:     一个中文空格ensp:      半个中文空格

decode: 处理转移字符

默认:不处理true: 将转义字符进行处理

selectable: 是否可选文本

默认:不可选true: 可选

space:

<text>aa  你好  你好</text>
<view></view>
<text space="ensp">aa  你好  你好</text>
<view></view>
<text space="nbsp">aa    你好  你好</text>
<view></view>
<text space="emsp" selectable>aa你好你好你好你好</text>

decode:

<view></view>
<text decode='true'>></text>
<view></view>
<text>></text>

rich-text

富文本组件:允许我们渲染HTML代码。

属性: nodes 表示节点的意思

属性值可选项有2个:

HTML字符串: <rich-text nodes="<div>nihao</div>"></rich-text>

数组:

如果是一个数组,则表示一组子节点

数组中的每一个成员表示一个节点对象

节点对象的属性有:

name: "div",attrs: 节点的属性 是一个对象属性名是HTML的标准属性名属性值是对应的值class: "active",style: "linheight:100px"children: 节点的子节点 是一个数组数组中是一个一个的节点对象type: "text",text: "今天天气不错"

nodes值是数组:

<rich-text nodes="{{nodes}}"></rich-text>

icon组件

组件名称:icon

作用:提供小图标

在HTML中,我们可以任意使用图片,通过css控制样式来当做图标。可是在微信小程序中,因为小程序的体积原因,不可以这么做。于是微信将一些常用的小图标做成了组件。

属性:

type: 表示图标类型 可选值success, success_no_circle, info, warn, waiting, cancel, download, search, clearsize: 表示尺寸 纯数字即可color: 表示颜色 英文颜色即可

demo:

<!--pages/icon/icon.wxml-->
<icon type='download' size="200" color="blue" ></icon>
<icon type='success'></icon>

canvas组件

画布组件。

属性: canvas-id 标记canvas的id

demo:

// 获取画笔
var ctx = wx.createContext("myCanvas");
// 调用方法
ctx.fillRect(0, 0, 50, 50);
wx.drawCanvas({canvasId: "myCanvas",
actions: ctx.actions
})

map组件

地图组件:用于显示一块地图

属性:

longitude 经度latitude 纬度scale  缩放大小 或者叫做精度 5 ~ 18

demo:

<map longitude="90.8541870117" latitude="29.1527609491" scale="10"></map>

image组件

图片组件:

属性: src 图片地址

mode 决定如何裁剪图片

可选值有:

缩放 scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素

缩放 aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。

缩放 aspectFill 保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。

缩放 widthFix 宽度不变,高度自动变化,保持原图宽高比不变

裁剪 top 不缩放图片,只显示图片的顶部区域

裁剪 bottom 不缩放图片,只显示图片的底部区域

裁剪 center 不缩放图片,只显示图片的中间区域

裁剪 left 不缩放图片,只显示图片的左边区域

裁剪 right 不缩放图片,只显示图片的右边区域

裁剪 top left 不缩放图片,只显示图片的左上边区域

裁剪 top right 不缩放图片,只显示图片的右上边区域

裁剪 bottom left 不缩放图片,只显示图片的左下边区域

裁剪 bottom right 不缩放图片,只显示图片的右下边区域

demo:

<image src="https://www.baidu.com/img/bd_logo1.png" mode="scaleToFill"></image>
<image src="https://www.baidu.com/img/bd_logo1.png" mode="aspectFill"></image>
<image src="https://www.baidu.com/img/bd_logo1.png" mode="aspectFit"></image>

媒体组件

摄像机组件: camera

属性: device-position: 可选值 front back

demo:

<camera device-position='front'></camera>

音频组件: audio

属性: src

视频组件: video

属性: src

直播组件: live-player

录播组件: live-pusher

微信小程序中的页面文件和组件相关推荐

  1. 微信小程序中app.js文件、组件、api

    app.js文件: 每个小程序都需要在app.js中调用 App 方法注册小程序实例. App({//App实例化,整个小程序只有一个App实例,全部页面共享onLaunch: function () ...

  2. 微信小程序中处理PDF文件

    一直在尝试要在微信小程序中处理PDF文件,包括生成PDF文件和检测某个PDF文档的页数,但是微信小程序的接口不支持这个功能,只能是想办法在js文件中实现这个代码,这个代码的实现需要pdf-lib 这个 ...

  3. 二、微信小程序-快速回顾 ( 页面文件 )

    文章目录 一.页面配置文件 - json 二.页面逻辑文件 - js 三.页面布局文件 - wxml 3.1. 页面布局常用标签 3.2. 页面渲染常用指令 3.2.1. 数据绑定 - mustach ...

  4. 微信小程序:uni-app页面Page和组件Component生命周期执行的先后顺序

    目录 H5 微信小程序 测试代码 文档 页面生命周期 https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle 组件生命周期 https:// ...

  5. 微信小程序中多个button/view组件中进行切换时改变样式

    在小程序项目中遇到一个问题:数据分成四五个小组,然后要进行小组切换,切换的同时把button的样式也要改变,以前Dom操作的时候特别简单, 现在在小程序中竟不知从何下手,后面参照了这边博文:http: ...

  6. 微信小程序中把页面生成图片

    这个问题我上网搜了一下,答案有多种,但是真正能用的没有几何.很多答案都是雷同,有的网友也不负责任,直接拿来照抄,自己也不跑一遍看看.哎,不说了,说多了全是泪.希望我们的技术达人在分享的时候,能够真实的 ...

  7. 微信小程序中的页面跳转(通过点击按钮、调用方法的形式)

    页面跳转用的多吧.tabBar的空间有限.通过路由的方式跳转时Vue中常用的方式.小程序采用类似的做法. – 这里通过给按钮绑定点击事件.调用方法.方法中实现页面跳转.(其它方式暂不考虑) 1.效果 ...

  8. 微信小程序中wxs文件的用法

    微信小程序中的wxs文件,大家或多或少都有见过,但怎么使用呢?在项目开发中又能给我们带来什么便捷和解决什么问题呢?借助一个案例为大家介绍具体用法. 一.什么是wxs文件及wxs文件有什么作用 wxs相 ...

  9. 微信小程序中自定义组件

    文章目录 小程序项目 app.json pages/index/index.wxml pages/index/index.wxss pages/index/index.js 自定义组件 compone ...

最新文章

  1. ubuntu 电源按钮操作_Ubuntu电脑操作基础:桌面背景,屏保和电源
  2. mysql 8.0 一条insert语句的具体执行流程分析(二)
  3. Tomcat基础教程(一)
  4. phpcmsV9导航栏目点击跳转始终是localhost首页 bug - 分析篇
  5. python多线程 _thread没有上lock时程序提前给你把可执行的都执行,不按代码编写顺序执行
  6. oracle索引实验报告,Oracle之索引(Index)实例讲解
  7. matlab简介,Matlab简介及各历史版本
  8. 矩阵理论第一章-特征值与特征向量
  9. PCI总线地址空间与PC地址空间的映射关系及数据传输原理
  10. python中卡方检验_python 使用卡方检验
  11. 迷你游戏平台开发(二)
  12. 2017年个人看书学习计划
  13. php theexcerpt,WordPress:使用the_excerpt函数显示摘要信息
  14. java pdf添加页码_java itext pdf 肿么加页码
  15. 单片机复位电路,隐藏着这么多门道
  16. linux下检测USB的热插拨
  17. Elasticsearch的dynamic 与 index.mapper.dynamic
  18. 音频变速播放原理分析及实现方案
  19. 向日葵客户端 for Android,向日葵远程控制for Android 3.1 发布
  20. FPGA开发技巧:Modelsim仿真.do文件详细解析 原创 特权同学

热门文章

  1. 第一章 认识Java 2019-09-28
  2. win8\win server 2012添加【中文--美式键盘】
  3. 最简单web工程接收消息图片--微信企业号
  4. HTTP Error 503. The service is unavailable
  5. Unity 用于投掷物品的一阶贝塞尔曲线
  6. LeetCode 1104. Path In Zigzag Labelled Binary Tree解题报告
  7. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
  8. 二. 滤波器件选型学习笔记
  9. 12.8金融宋江美元的操作建议
  10. 34. 在排序数组中查找元素的第一个和最后一个位置——二分法的魔鬼细节 小记