博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序-笔记1
阅读量:5907 次
发布时间:2019-06-19

本文共 2480 字,大约阅读时间需要 8 分钟。

hot3.png

1. 配置

官方文档, 写的那么详细, 还有什么好记的 ...

2. 逻辑层

注册程序

app 的声明周期: onLaunch, onShow, onHide, 调用时刻 顾名思义吧.

//1.当小程序初始化完成时,会触发 onLaunch(全局只触发一次)  onLaunch: function () {    //调用API从本地缓存中获取数据    var logs = wx.getStorageSync('logs') || []    logs.unshift(Date.now())    wx.setStorageSync('logs', logs)        util.Logs("app on launch")  }, //2.当小程序启动,或从后台进入前台显示,会触发 onShow onShow: function () {    util.Logs("app on show") }, //3.当小程序从前台进入后台,会触发 onHide onHide: function () {   util.Logs("app on hide") },

**getApp(): ** 我们提供了全局的 getApp() 函数,可以获取到小程序实例。类似iOS中的AppDelegate类, 相当于是小程序的入口, getApp, 是我们获取这个类的实例的方法. 但是在App 类中, 不能调用getApp函数, 首先当前已经是App类对象中, 可以调用其中任意方法(除生命周期相关方法和数据)和数据; 其次, ....,.

注册页面

一些生命周期函数, 和数据对象, 上拉刷新函数

//1.页面的初始数据, 初始化数据将作为页面的第一次渲染。data 将会以 JSON 的形式由逻辑层传至渲染层,所以其数据必须是可以转成 JSON 的格式:字符串,数字,布尔值,对象,数组。data: {    motto: 'Hello World',    userInfo: {}  },//2.生命周期函数--监听页面加载//  一个页面只会调用一次。// 接收页面参数可以获取wx.navigateTo和wx.redirectTo及
中的 query。 onLoad: function () { this.loadDataFromUserInfo() util.Logs("page on load") }, //3.生命周期函数--监听页面初次渲染完成 // 每次打开页面都会调用一次。 onReady: function () { util.Logs("page on ready") }, //4.生命周期函数--监听页面显示 // 一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。 // 对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。详见生命周期 onShow: function () { util.Logs("page on show") }, //5.生命周期函数--监听页面隐藏 // 当navigateTo或底部tab切换时调用。 onHide: function () { util.Logs("page on hide") }, //6.生命周期函数--监听页面卸载 // 当redirectTo或navigateBack的时候调用。 onUnload: function () { util.Logs("page on unload") }, //7.监听用户下拉刷新事件。 // 需要在config的window选项中开启enablePullDownRefresh。 // 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。 onPullDownRefresh: function () { util.Logs("pull down refresh") }

绑定事件

click me
Page({ viewTap: function() { console.log('view tap') }})

绑定数据 setData()

setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。

注意:

  1. 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
  2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。

getCurrentPages()

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

注意:不要尝试修改页面栈,会导致路由以及页面状态错误。

pages生命周期示意图

下图来自微信小程序开发文档....

模块化

文件作用域

在 JavaScript 文件中声明的变量和函数只在该文件中有效;不同的文件中可以声明相同名字的变量和函数,不会互相影响。

通过全局函数 getApp() 可以获取全局的应用实例,如果需要全局的数据可以在 App() 中设置

模块化

我们可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。

利用模块化可以封装一些工具类, 比如, 与时间处理的工具类, 可以封装在一个模块中; 甚至可以为了方便管理某些操作, 将所有的操作都都封装到一个模块中.

function Logs(logs) {  console.log(logs)}module.exports = {  Logs: Logs}

转载于:https://my.oschina.net/whforever/blog/782466

你可能感兴趣的文章
leetcode 64. Minimum Path Sum
查看>>
textkit
查看>>
CentOS7+CDH5.14.0安装CDH错误排查: HiveServer2 该角色的进程已退出。该角色的预期状态为已启动...
查看>>
The Oregon Trail 俄勒冈之旅
查看>>
Excel VBA连接MySql 数据库获取数据
查看>>
Developing a Service Provider using Java API(Service Provider Interface)(转)
查看>>
oschina程序开发
查看>>
“正在注册字体”问题解决
查看>>
iOS开发-OpenGL ES入门教程1
查看>>
Java 设计模式专栏
查看>>
使用ASP.NET Atlas SortBehavior实现客户端排序
查看>>
图像滤镜处理算法:灰度、黑白、底片、浮雕
查看>>
Office文档出错的几种原因与解决方法
查看>>
正则表达式 学习笔记1.1
查看>>
AssetBundle进阶内存优化(Unity 4.x)
查看>>
《从零开始学Swift》学习笔记(Day 40)——析构函数
查看>>
Exchange2003-2010迁移系列之十,Exchange证书攻略
查看>>
extmail集群的邮件负载均衡方案 [lvs dns postfix]
查看>>
更改UIView的背景
查看>>
APUE第15章学习扎记之程序的存储区布局试验
查看>>