MVVM:提倡渲染(页面)和逻辑分离。页面(DOM),逻辑(后端代码JS等)—> JS操纵DOM。通过模板引擎,操纵和表现。

页面与程序,如何配合工作:

  1. 微信客户端会根据page.json配置,先生成一个界面
  2. 紧接着装载WXML结构和WXSS样式
  3. 最后装载page.js。Page是页面构造器,小程序框架把data数据和page.wxml一起渲染出最终的结构。渲染完毕,页面实例收到onLoad回调

Page实例的生命周期:

不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

页面栈:

路由方式 页面栈表现
初始化 新页面入栈
打开新页面:wx.navigateTo(Object) 新页面入栈(最多五层,尽量避免多层级的交互方式)
页面重定向 当前页面出栈,新页面入栈
页面返回 页面不断出栈,直到目标返回页
Tab 切换 页面全部出栈,只留下新的 Tab 页面
重加载 页面全部出栈,只留下新的页面

Tips:

  • navigateTo, redirectTo 只能打开非 tabBar 页面。
  • switchTab 只能打开 tabBar 页面。
  • reLaunch 可以打开任意页面。
  • 页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
  • 调用页面路由带的参数可以在目标页面的onLoad中获取。

API分类:

  1. 事件监听API。
  2. 同步API。
  3. 异步API。

数据缓存:

  1. wx.setStorage(Object):每个小程序都可以有自己的本地缓存,单个key允许存储的最大数据长度1M,所有缓存最大为10M。本地缓存是永久存储的,与小程序生命周期一致,但是关键信息不建议全部存在本地缓存中,以防用户换设备的情况。

设置:

  1. wx.getSetting(Object):获取当前用户的授权设置。只返回已授权的设置(无论授权是否成功,只要请求授权,都会返回)。

微信小程序开发——简记的更多相关文章

  1. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  2. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

  3. 微信小程序开发日记——高仿知乎日报(下)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  4. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  5. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  6. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

  7. 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?

    原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复   ...

  8. 微信小程序开发工具使用与设计规范(二)

    [未经作者本人同意,请勿以任何形式转载] 上一篇文章主要分析了微信小程序应用场景和优劣势.本篇你可以学习到: 如何使用小程序开发工具写一个Hello World 微信小程序设计规范 微信小程序项目结构 ...

  9. 微信小程序开发视频教程新鲜出炉

    微信小程序开发公测了,可是对于新手来说,不同的框架不同的开发机制,如何快速适应呢?微信小程序开发视频教程新鲜出炉了,从零开始一步一步搭建微信小程序,每个章节都会涉及到不同的知识点,等教程学习完你不但掌 ...

随机推荐

  1. php json 中文不转义 & 转义为中文

    JSON_UNESCAPED_UNICODE private function decodeUnicode($str){ return preg_replace_callback('/\\\\u([0 ...

  2. php java aes

    class CryptAES{ protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protecte ...

  3. urlib库的使用

    urlib库实际上不是很常用,因为其api调用复杂,已被requests模块取代. 1.request发送请求 from urllib import request #默认指定的是get请求 #url ...

  4. Go 初体验 - 并发与锁.2 - sync.WaitGroup

    sync包里的WaitGroup主要用于协程同步 计数主协程创建的子线程 WaitGoup.Add(i) 调用清除标记方法WaitGroup.Done() 使用WaitGroup.Wait()来阻塞, ...

  5. docker实战---初级<1>

    第1章 docker容器 1.1 什么是容器 容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁.隔离的环境拥有自己的文件系统,ip地址,主机名等 1.2 容器与虚拟化的区别 linux容 ...

  6. CentOS 7 Squid代理服务器正向代理-传统代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 传统代理:普通的代理服务,多见于 ...

  7. SQL学习基础 => 创建表

    --创建表 CREATE TABLE userinfo3 ( ID INT PRIMARY KEY NOT NULL, --ID 整数类型,设置为主键,并且不能为空 name ) NOT NULL, ...

  8. 群晖IP地址更新问题

    系统:黑群晖  DS3615 事件:初始安装后 会自动获取一个IP地址,各项功能正常,由于网络调整,更换了路由,群晖宿主机链接到了二级路由(交换机模式) 问题: 1.使用原始的IP无法访问到群晖服务 ...

  9. linux 运行级别 & 虚拟控制台

     7 个运行级别 #-停机(千万不要把initdefault设置为0) #-单用户模式 #-多用户,没有NFS #-完全多用户模式(标准的运行级) #-没有用到 #-X11(xwindow) #-重新 ...

  10. Lists.newArrayListWithExpectedSize( int estimatedSize)

    Lists.newArrayListWithExpectedSize( int estimatedSize)  构造一个期望长度为estimatedSize的ArrayList实例. 源码: publ ...