微信小程序的相关文件类型
微信小程序项目结构主要分为四个文件类型
WXML
(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统、可以构建出页面的结构,内部主要是微信自己定义的一套组件。
WXSS
(WeiXin Style Sheets)是一套样式语言,用于描述WXML
的组件样式
js
逻辑处理,网络请求
json
小程序设置、如页面注册,页面标题及tabBar
主要文件:
app.json
必须要有这个文件,如果没有这个文件,项目无法运行,因为微信框架把这个作为配置文件入口,整个小程序的全局配置,包括注册、网络设置、以及小程序window
背景色,配置导航条样式,配置默认主题
app.js
必须文件。没有也会报错,但是这个文件创建一下就行。可以在这个文件中监听并处理小程序的生命周期函数、生命全局变量
app.wxss
可选。
微信小程序原理
微信小程序采用
JavaScript
、WXML
、WXSS
三种技术进行开发,本质是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口微信的架构,使数据驱动的架构模式,它的UI
和数据是分离的,所有的页面更新、都需要通过对数据的更改来实现。
小程序分为两个部分webview
和appService
。其中webview
主要用来展示UI
,appservice
用来处理业务逻辑,数据及接口调用。在两个进程中运行,通过系统层JSBridge
实现通信,实现```UI``的渲染。事件的处理。
小程序生命周期函数
onload()页面加载时触发,只会调用一次,可以获取当前页面路径中的参数。
onShow()页面显示时触发,一般用来发送数据请求
onReady()页面初次渲染完成时触发,只会调用一次,代表页面已和视图层进行交互。
onHide()页面隐藏时触发,如redirectTo或navgateBack到其他页面时。
onPullDownRefresh()下拉刷新的钩子函数,用户下拉刷新时会自动走到这个函数中
onReachBottom()上拉加载钩子函数
小程序页面间的数据传递方式
1、给html元素添加data-*属性来传递,然后通过e.currentTarget.dataset或者onload的param参数获取。注:data-名称不能有大写字母、不可以存放对象
2、设置id的方法标识来传值,通过e.currentTarget.id获取设置的id值,然后通过设置全局对象的方式传递数值
3、在navigator中添加参数值
微信小程序与H5的区别
1、运行环境不同,(小程序在微信运行,h5在浏览器运行)
2、开发成本不同(h5需要兼容不同的浏览器)
3、获取系统权限不同(系统权限可以和小程序无缝衔接)
4、应用在生产环境的运行流畅度(h5不断对项目优化来提高用户体验)
简述五个路由的区别
wx.navigateTo():保留当前页面,跳转到应用内的某个页面,但是不能调到tabbar页面
wx.redirectTo():关闭当前页面,跳转到应用内的某个页面,但是不允许跳转到tabbar页面
wx.switchTab():跳转到tabBar页面,并关闭其他所有非tabBar的页面
wx.navigateBack():关闭当前页面,返回上一页面或多级页面,可通过getCurrentPages()获取当前的页面栈,决定需要返回几层。
wx.reLauch():关闭所有页面,打开应用内的某个页面
bindtap和catchtap的区别
相同点:首先它们都是作为点击事件函数,就是点击触发,在这个作用上他们是一样的
不同点:他们的不同点主要是bindtap是不是阻止冒泡事件的,catchbap是阻止冒泡的
网友评论