小程序的页面,都存放在pages的目录里 ,以单独的文件夹存在

.js文件 (页面的脚本文件,存放页面的数据,事件处理函数)

.json(当前的配置文件,配置窗口的外观 )

.wxml文件(页面的模板)

.wxss文件(当前页面的样式表文件)

微信小程序——组件

1.分为九大类:(1)视图容器(2)基础容器(3)表单组件 (4) 导航组件 (5)媒体组件

(6)map地图组件(7)canvas画布组件(8)开放能力 (9)无障碍访问

2.常用的视图容器类组件

(1)view 普通视图区域,类似于HTML中的div,是一个块级元素,常用来实现页面的布局效果

( 2)scroll-view:可以滚动的视图区域,常用来实现滚动列表效果

(3)swiper/swiper-item:轮播图容器的组件和轮播图item组件

view组件的基本使用:

使用方法跟HTML中的div一样,例子如下:

scroll-view组件的基本使用:

实现滚动:纵向滚动:scroll-y

横向滚动:scroll-x

轮播图的使用:

在最外层要放swiper的容器, 有几个轮播图就放入几个项:swiper-item

swiper的常用属性:

常用基础组件:

text:文本组件,类似于HTML中的span标签,是一个行内元素;通过selectable属性,实现长按选中文本美容的效果

rich-text:富文本组件,支持把html字符串渲染为wxml结构 ; 通过rich-text组件,把HTML字符串渲染为对应的UI结构

例如:

<view>

手机号支持长按选中的效果

<text selectable>139020932080</text>

</view>

例如

<rich-text node="<h1 style='color:red;'>标题</h1> </rich-text>

其他常用组件:

(1)button: 按钮组件,功能比html中的button按钮丰富,通过open-type属性可以调佣微信各种功能(客服,转发,获取用户授权等)

(2)image:图片组件,默认宽度300培训,高度约240px

(3)Navigator:页面导航组件,类似于a链接

小程序API概述

小程序的API是由宿主环境提供的

小程序的三大类:

(1)事件监听API

特点:以on开头,用来监听某些事件的触发

举例:例:wx.onWindowResize(function callback) 监听窗口尺寸变化的事件

(2)同步API

特点:以Sync结尾的API都是同步API,同步执行的结果可以通过函数返回值直接获取,如果执行出错会抛出异常

举例:wx.setStorageSync('key', 'value') 向本地存储中写入内容

(3)异步API

特点:类似于jQuert中的$ .ajax(option)函数,需要通过success,fail,complete接收调用结果

举例:wx.request() 发起网络数据请求,通过 success 回调函数接收数据

wxml模板语法-数据绑定

1.数据绑定的基本原则:在data中定义数据   在wxml中使用数

3.Mustache语法格式(插值表达式)

把data中的数据绑定到页面中渲染,使用mustache{{}}(大括号)将比变量包起来就可以

格式:(1)<view>{{要绑定的数据}} </view>

                     (2){{变量,判断条件(三元)如果使用字符串需要加引号}}

<template>

<view>{{ info }} </view>

</template>

<script>

page({

data: {

info: 'hello aorld'

}

})

</script>

Mustache语法的主要应用场景如下:

(1)绑定内容

(2)属性绑定

(3)运算(三元运算,算术运算等

动态绑定属性:

页面数据如下

page({data: {imhSrc:'http//:www.itheuma.com/image/logo,png'}})

页面的结构如下

<image Src="{{imgSrc}}" > </image>

三元运算:

页面的数据如下:

Page ({data: {randomNum:Math.random() *10  //生成10的随机数}})

页面结构如下:

<view> {{ randomNumber >=5?'随机数大于或等于5' :'随机数小于或等于5'}}  </view>

算数运算:

页面数据结构:

Page ({data : {randomNum:Math .randow().toFixed(2)   //生成一个带两位小数的随机数,例如0.34}})

页面结构如下:

<view> 生成100以内的随机数: {{ randowNum *100}} </view>

wxml模板语法-事件绑定

事件是渲染层到逻辑层的通讯方式,通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务处理,

1. 小程序常用的事件;

2. 事件对象的属性列表

(1)target是触发事件的源头组件,而currentTarget则是当前事件锁所绑定的组件。

3.在事件处理函数中为data中的数据赋值

通过调用 this。setData(dataObject)方法,可以给页面data中的数据重新赋值。

Page({

data: {

count:0

},

//修改count的值

changeCount() {

this.setData({

count:this.data.count +1

})

}

})

事件传参:

可以为组件提供data-*自定义传参,*代表传参的名字。
在事件处理函数中,通过event。target.dataset.参数名,即可获取到具体参数的值

     btnTap2(e) {this.setData({count: this.data.count + e.target.dataset.info})
},

页面结构:

<button type="warn" bindtap="btnTap2" data-info="{{2}}">+2</button>

bindinput的语法格式:

在小程序中,通过input事件来响应文本框的输入事件

inputHandler(e) {console.log(e.fetail.value)},

页面结构:

<input bindinput ="inputHandler"></input>

实现文本框和data之间的数据同步:

实现步骤:

(1)定义数据

data: {

msg:'你好'

},

(2)渲染结构

<input value=“{{msg}}” bindinput="inputHandler"></input>

(3)美化样式

(4)绑定input事件处理函数

inputHandler(e){

this,setData({

msg:e.fetail.value

})

},

微信小程序--黑马程序员相关推荐

  1. 黑马程序员:福利来袭!网络安全斗鱼直播“录像+资源”大放送

      不知大家是否知道,就在上周五(8月5日),黑马程序员C++学院资深讲师冰哥和知名美女老师码小趣,为大家带来了一场关于网络安全的直播盛宴! 关于直播内容如下: 一.科普网络安全知识,手把手教大家怎么 ...

  2. 微信小程序开发过程基本知识总结(引用黑马程序员)

    微信小程序 了解基本微信小程序开发信息: 安装微信小程序开发工具  开发者工具下载路径:稳定版 Stable Build 更新日志 | 微信开放文档  创建小程序: 如何修改无索引黄色感叹号提示: 图 ...

  3. 0基础跟着黑马程序员学微信小程序前端开发Day01

    学习目录 一.项目的基本组成结构 二.小程序页面的组成部分 三.创建小程序页面 四.小程序的一些组件 1.常用视图容器类组件 2.常用基础内容组件 3.button 按钮的基本使用 4.image 组 ...

  4. 原生微信小程序开发-黑马优购(一)

    接口文档地址: 轮播图--ShowDoc 视频地址: 黑马程序员微信小程序开发前端教程_零基础玩转微信小程序_哔哩哔哩_bilibili 后面也许可以通过快速搭建mock来获取数据(这个工作肯定要会) ...

  5. 黑马优购_微信小程序

    黑马优购_微信小程序项目 介绍 2021年5月6日-2021年5月12日在校参加微信小程序培训,由黑马讲师授课,能够利用微信提供的组件和API实现轮播图.授权用户信息.上拉加载更多等功能,由于之前对u ...

  6. 详细解析黑马微信小程序视频--【思维导图知识范围】

    语言视频选择 收录专辑链接 C 张雪峰推荐选择了计算机专业之后-在大学期间卷起来-[大学生活篇] JAVA 黑马B站视频JAVA部分的知识范围.学习步骤详解 JAVAWEB 黑马B站视频JAVAWEB ...

  7. 从一个程序员的角度看——微信小应用

    前言: 最近初步了解了一下微信小应用,APP端的同事也非常感兴趣,于是在公司内部做了一个小小的分享,分享的过程中有很多讨论内容,大家也是非常感兴趣和有自己的看法,当时"混乱"的场面 ...

  8. 从程序员的角度分析微信小程序

     从程序员的角度分析微信小程序             我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先 ...

  9. 一个C#程序员学习微信小程序的笔记

    一个C#程序员学习微信小程序的笔记 客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在 ...

最新文章

  1. soapUi 接口测试
  2. runtime运行时编程一些相关知识
  3. 优秀简历要遵循哪些规则
  4. 【深入理解JVM】Java类文件的基本结构
  5. (36)FPGA面试技能提升篇(FPGA行业产品)
  6. Android 系统(56)---Android 系统开机日志
  7. db2:根据TABLEID找table
  8. linux命令ftps,Linux下ftp+ssl实现ftps
  9. 风云2号卫星云图_风云四号A星搭载多通道扫描成像辐射计(AGRI)和大气垂直探测仪(GIIRS)可对台风进行加密观测...
  10. 关于今天火爆各大高校的“QQ悄悄话查看器”
  11. CMOS门基本工作原理
  12. 阿里云服务器租用报价新鲜出炉(轻量和ECS价格)
  13. 解决Ubuntu 20.04 虚拟机克隆出多台造成的IP地址冲突的问题
  14. AWB调试中(Tuning)的几个问题
  15. java千万级别数据处理(2)-千万级别FTP下载
  16. 大一新生能从ACM比赛中得到什么?
  17. 在K8s上轻松部署Tungsten Fabric的两种方式
  18. pyinstaller 打包pyqt5程序出现环境变量错误问题
  19. 2019联想创新科技大会:“端边云网智”一切就绪
  20. Zeppelin(0.10.1版本)安装及创建hive解释器

热门文章

  1. java二方包Maven脚本
  2. 设计模式1-工厂模式
  3. springboot+共享电动单车管理系统 毕业设计-附源码131016
  4. 我的周刊(第082期)
  5. java 员工轮询值班排班 开发设计(mysql+redis)
  6. 为什么选择940nm红外光作为dms补光灯的光源
  7. 批式CSV数据读取【Alink使用技巧】
  8. 前端入职第一天需要哪些环境配置
  9. 微信订阅号消息列表重大更新!6点解读(必看)
  10. 近世代数--置换群--一个置换的例子