小程序学习之小程序框架--逻辑层

1.注册程序

1)App(OBJECT)方法

小程序注册,指定小程序的生命周期函数

OBJECT参数如下:

ps:App()方法只能写在小程序根目录下app.js文件中,且只能注册一个

小程序前台 vs 小程序后台

onLaunch()、onShow()、onError()方法在触发时会返回参数,用户可利用参数进行状态判断和处理,其中onLaunch和onShow返回参数名称完全相同,返回参数如下:

支持返回的场景值为:

ps:除函数外,也支持添加自定义全局变量

2)onPageNotFound()方法 

需要打开页面不存在时,微信有原生模板页面提示,想自行处理需要用这个方法,会回调这个方法并带有3个参数

示例代码:

ps:如果回调中又重定向到另一个不存在页面,将重定向到微信自带原生模板页面提示页面不存在,且不再触发此方法

3)getApp()方法

在小程序的其他JS文件中可使用全局的getApp()方法获取小程序实例,但用户不可以在app.js的App()函数内部调用getApp()方法,可以用关键字this代替

2.注册页面

用Page(OBJECT)方法进行页面注册,该方法用于指定小程序页面的生命周期函数。参数如下:

可以添加自定义的页面变量

1)初始数据

data属性,是页面第一次渲染使用的初始数据。页面加载时,会以json字符串形式由逻辑层传到渲染层。渲染层可以通过wxml对数据进行绑定。

2)生命周期回调函数

3)页面事件处理函数

onShareAppMessage()的参数对象

返回的Object对象,用来自定义转发内容

示例:

Page({
  onShareAppMessage:function(res){
    if(res.from === 'button){
       console.log(res.target)    //页面内“转发”按钮的信息
    }
    return {
       title: '高校新闻'           //自定义转发标题
       path: '/pages/user?id=123'  //自定义转发页面路径,id=123是自定义参数内容
    }
  }
})

onTabItemTap(OBJECT):单击tab时触发,object参数如下:

4)组件事件处理函数

在wxml页面的组件上添加事件绑定,当事件被触发时就会主动执行Page()中对应的事件处理函数

5)route

可以使用this.route查看当前页面的路径地址

6)setData()

用来同步更新data属性中的数据值,也能异步更新相关数据到wxml页面上,参数如下:

ps:可以用此方法设置一些新定义的变量

7)生命周期

小程序应用与页面有各自的生命周期函数,在使用过程中会互相影响。

小程序应用:

页面:

3.页面路由

1)页面栈

小程序中页面之间切换由框架统一管理,框架以栈的形式维护了当前所有页面。发生路由切换时,页面栈表现如下:

2)获取页面栈

通过getCurrentPages()方法获取当前页面栈的实例,实例将以数组形式按栈的顺序给出。其中,第一个元素为首页,最后一个元素为当前页面。

3)路由方式

举例:A B是tabBar页面  C是从A打开的页面  D是从C打开的页面,tab切换对应的生命周期如下:

4.模块化

1)文件的作用域

在小程序任意js文件中声明的变量和函数只在该文件中有效,不同js文件中可以声明相同名字的变量和函数,不会互相影响。

需要跨页面进行数据共享,可在app.js中定义全局变量,然后在其他js文件中使用getApp()获取和更新。

2)模块的调用

模块只能通过module.exports或者exports对外提供接口,需要调用的页面通过require(相对路径)

ps:不能用绝对路径

5.API

发布了0 篇原创文章 · 获赞 0 · 访问量 448

猜你喜欢

转载自blog.csdn.net/baked_donut/article/details/105054249
今日推荐