转载请注明出处:https://blog.csdn.net/Strugglein/article/details/81916136

今天带来小程序第四节的学习内容,今天主要学习目标是:

1.JS
2.生命周期
3.WXS
4.运行机制

1.JS

首先来段引入
js是一种轻量的,解释型的,面向对象的头等函数语言,是一种动态的基于原型和多范式的脚本语言,支持面向对象,命令式和函数式的编程风格,
轻量是指,入门js的时候会比较轻一些,没有学习其他语言那么重.
解释型是指,js在运行时会编译成可以运行的机器语言.
被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

在小程序中的js主要是用来做交互的,比如来响应用户的一些操作,一些事件的触发、获取用户的位置等等,通过编写js脚本文件来实现这些操作.
通俗的讲就是,wxml来展现内容,wxss来展现出样式,js来进行页面和用户的操作交互,甚至更复杂的交互逻辑
比如在wxml中有个按钮:

<view>{{ data}}</view>
<button bindtap="show">看这里</button>

事件的一个理解:这里的button(bindtap=“show”)绑定了一个show的事件,当点击时就会触发show函数。就是视图和逻辑层的一个通讯方式,就是把事件绑定在wxml中,然后到js中去处理
而在JS里呢,当点击的时候,就把data的内容动态替换为“Hello World”。

Page({show: function() {this.setData({ data: "Hello World" })}
})

2.生命周期

在app.js文件中 , 定义了一些生命周期方法 ,比如:onLaunch,onShow,onHide,onError
以下是各个生命周期方法作用和描述

onLaunch 生命周期函数–监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShow 生命周期函数–监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow
onHide 生命周期函数–监听小程序隐藏 当小程序从前台进入后台,会触发 onHide
onError 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息

我们也可以添加自定义的一些的函数或数据到 Object 参数中,用 this 可以访问

我们在app.js文件中写下以下的方法,然后打印到控制台;

App({onLaunch: function () {console.log("app ---onLaunch---");},onShow:function(){console.log("app ---onShow---");},onHide:function(){console.log("app ---onHide---");},onError: function (msg){console.log("app ---onError---" + msg);},globalData: {userInfo: null}
})
结果:
app ---onLaunch---
app ---onShow---

通过打印我们可以看出依次执行了app.js下面onLaunch和onShow方法,

在page中的页面自定义的生命周期方法

onLoad 生命周期函数–监听页面加载
onReady生命周期函数–监听页面初次渲染完成
onShow 生命周期函数–监听页面显示
onHide 生命周期函数–监听页面隐藏
onUnload 生命周期函数–监听页面卸载

Page({onLoad: function (options) {console.log("page ---onLoad---");},onReady: function () {console.log("page ---onReady---");},onShow: function () {console.log("page ---onShow---");},onHide: function () {console.log("page ---onHide---");},onUnload: function () {console.log("page ---onUnload---");}
})

打开小程序后会依次执行onLoad,onReady,onShow方法
前后台切换会分别执行onHideonShow方法,
当小程序页面销毁时会执行 onUnload方法

下面是微信官方给出的page的生命周期的图片:

更多生命周期的内容请移步:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html

一些关于其他的js会在后面的文章中陆续带入

3.WXS

模块:
直接一波图解释清楚

第一种类型:

第二种类型:

第三种类型


好! 三种使用模板的方法就先到这里,后期的使用,会在文章中体现出来….

4.运行机制

先来看一下小程序的启动方式
分为两种,
第一种是热启动

热启动代表的是从我们的后台然后切回到小程序中,我们称为热启动

第二种是冷启动

冷启动代表,我们的小程序首次打开或者被用户销毁了然后重新进入,
强制销毁 有两种情况微信会销毁我们的小程序,
第一种是我们的小程序在后台超过了5分钟,
第二种是我们的小程序发生了两次异常.

如果我们的小程序有更新时,我们客户端的小程序会异步的下载新的更新包,在下一次打开的时候去加载最新的包

好的到这里本篇文章就先到此了,创作不易,如果那里有不合适的地方还请大家多多指教,写这篇博的目的主要就是为了方便自己以后的一个回忆和朋友学习时的一个参考,希望为大家可以带来帮助 ~ ~&

虚心的去学习,自信的去工作~

微信小程序学习(五)相关推荐

  1. 微信小程序学习:(五)swiper塌陷问题解决

    微信小程序学习:(五)swiper塌陷问题解决 github地址: https://github.com/leoricding/- (一)问题分析 需求:实现tab切换,内容切换:内容切换,tab也切 ...

  2. 微信小程序学习(五):使用本地缓存,完成默认登录、、alert的使用、、引用全局变量,app.jsh中的变量

    微信小程序学习(五):使用本地缓存,完成默认登录 一开始想在app.js里面通过全局变量来实现默认登录状态的,但是没有用,每次重启还是要登录,在网上找了些资料后,可以用本地缓存, 这个是js文件 这是 ...

  3. 小程序 pagescrollto_微信小程序学习笔记(三)-- 首页及详情页开发

    一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import 2 使用组 ...

  4. 微信小程序学习笔记(1)

    微信小程序学习笔记 1.小程序代码结构 2.逻辑层和视图层 3. 小程序的宿主环境(通信模型.运行机制.组件.API) 4. 数据绑定和事件绑定 1.小程序代码结构 当开发者新建一个工程时,项目文件包 ...

  5. 2020微信小程序学习报告.2.17-3.1.(三)

    微信小程序学习报告应学校课程要求,特此记录首先,小程序知识点: wx.request的使用:发https请求,一个小程序同时只能有5个网络请求,https的参数里,url是接口地址,method是请求 ...

  6. 微信小程序学习(加深)

    微信小程序学习(加深) 一.wx:if 与 hidden 的对比 wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏 hidden 以切换样式的方式(display: none/block; ...

  7. 微信小程序学习实录1(wxml文档、引入weui、双向数据绑定、提交表单到后端)

    微信小程序学习实录 一.wxml文档 二.新建页面快捷方式 三.微信小程序引入weui 四.双向数据绑定 1.wxml渲染层 2.js逻辑层 提交表单到后端 五.微信小程序跳转到H5 一.wxml文档 ...

  8. 微信小程序学习11:iconfont 网络字体图标使用(阿里巴巴)

    微信小程序学习11:iconfont 网络字体图标使用(阿里巴巴) 使用方法 [1] 是直接下载图片,使用<image src="/static/images/v2.jpg" ...

  9. 微信小程序学习Course 8 本地缓存API

    微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...

最新文章

  1. 市值破400亿美元! 2021最火爆的「元宇宙」让互联网走到尽头?
  2. mysql 前后代表什么_MySQL的锁
  3. 使用Quarkus在Openshift上构建微服务的快速指南
  4. 轻松构建基于 Serverless 架构的小程序
  5. 局域网传输/共享大文件
  6. iOS编程比较好开源的完整项目iOS编程比较好开源的完整项目
  7. 试图执行系统不支持的操作,问题
  8. macOS调整分辨率与HiDPI
  9. 安徽建立“库长制” 千余名库长保粮食安全
  10. stm32毕业设计 单片机火灾报警系统
  11. STM32F407的USB_HID 基础配置STM32CubeMX
  12. 合并字符串(c++)
  13. 20220929 今天的世界发生了什么
  14. 0x0EA772D7 (msvcr80.dll) 处有未经处理的异常: 0xC000041D: 用户回调期间遇到未经处理的异常。。
  15. 0208中年发福,需要更加注意保持身材
  16. Flutter (四) 基础 Widgets、Material Components Widget 全面介绍
  17. 线性回归模型预测利润
  18. Internet共享打印机
  19. On release of batch it still contained JDBC statements
  20. CSS的一个小案例——模拟soso搜搜导航器

热门文章

  1. 网易云课堂个性化推荐实践与思考
  2. 【TypeScript】TS与Vue
  3. mysql与redis数据同步(c/c++)(写mysql同步到redis,并且以json格式保存)
  4. 基于SVM算法的人脸微笑识别
  5. 《SpringBoot2.0 实战》系列-整合FlyingSaucer + thymeleaf 实现模板文件转pdf打印
  6. 七夕活动浪漫上线,别让网络拖慢和小姐姐的开黑时间
  7. 微信开发 ━━ 微信商户v3微信支付回调之php篇
  8. win7 声卡安装失败修复方法
  9. QQ互联开发者认证一直审核未通过的原因
  10. ocp认证考试报名_大连OCP认证考试中心