微信小程序基础介绍

小程序里的四种文件
.json 后缀的 JSON 配置文件
.wxml 后缀的 WXML 模板文件
.wxss 后缀的 WXSS 样式文件
.js 后缀的 JS 脚本逻辑文件

小程序数据类型

WXS 语言目前共有以下几种数据类型:

number : 数值
string :字符串
boolean:布尔值
object:对象
function:函数
array : 数组
date:日期
regexp:正则

小程序生命周期

onLaunch        Function    
生命周期函数--监听小程序初始化    
当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

onShow          Function    
生命周期函数--监听小程序显示     
当小程序启动,或从后台进入前台显示,会触发 onShow

onHide          Function    
生命周期函数--监听小程序隐藏     
当小程序从前台进入后台,会触发 onHide

onError         Function    
错误监听函数  
当小程序发生脚本错误,
或者 api 调用失败时,会触发 onError 并带上错误信息

onPageNotFound  Function    
页面不存在监听函数   
当小程序出现要打开的页面不存在的情况,会带上页面信息回调该函数

其他  Any         
开发者可以添加任意的函数或数据到 Object 参数中,用 this 可以访问

小程序路由方式

打开新页面     调用 API wx.navigateTo

页面重定向     调用 API wx.redirectTo

页面返回        调用 API wx.navigateBack

Tab 切换      调用 API wx.switchTab

重启动         调用 API wx.reLaunch

Tips:

1.navigateTo, redirectTo 只能打开非 tabBar 页面。
2.switchTab 只能打开 tabBar 页面。
3.reLaunch 可以打开任意页面。
4.页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
5.tabBar只能配置最少2个、最多5个 tab
6.调用页面路由带的参数可以在目标页面的onLoad中获取

小程序响应的数据绑定

框架的核心是一个响应的数据绑定系统。
整个系统分为两块视图层(View)和逻辑层(App Service)
框架可以让数据与视图非常简单地保持同步。当做数据修改的时候,
只需要在逻辑层修改数据,视图层就会做相应的更新。
工作原理
setData 是小程序开发中使用最频繁的接口,也是最容易引发性能问题的接口。

小程序的视图层目前使用 WebView 作为渲染载体,
而逻辑层是由独立的 JavascriptCore 作为运行环境。
在架构上,WebView 和 JavascriptCore 都是独立的模块,
并不具备数据直接共享的通道。
当前,视图层和逻辑层的数据传输,实际上通过两边提供的 evaluateJavascript 所实现。
即用户传输的数据,需要将其转换为字符串形式传递,
同时把转换后的数据内容拼接成一份 JS 脚本,
再通过执行 JS 脚本的形式传递到两边独立环境。
而 evaluateJavascript 的执行会受很多方面的影响,
数据到达视图层并不是实时的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文属个人笔记,不做详解,仅供参考! 小程序官方简易教程 微信小程序与HTML5的区别 开发工具的不同:微信小程序...
    R_yan阅读 654评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,420评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,096评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,735评论 2 59
  • 早晨跑步,跑到第六圈的时候,发现前面有一位大哥也在跑步,和我有100多米的距离。我原本想追上并超过他。但是,一下子...
    原圆阅读 589评论 4 10

友情链接更多精彩内容