当前位置: 首页 > wzjs >正文

动漫设计与制作行业厦门seo公司到1火星

动漫设计与制作行业,厦门seo公司到1火星,酒店网络营销推广方案,把插钉机子拍下怎么做网站文章目录 App 构造器Page 构造器 App 构造器 App构造器位于 app.js 里面,整个应用只有这一个 生命周期钩子函数 如果你有 vue 或者 react 的开发经验,那么生命周期钩子函数也是非常熟悉的。所谓生命周期钩子函数,就是在一些固定的时间点自…

文章目录

    • App 构造器
    • Page 构造器

App 构造器

App构造器位于 app.js 里面,整个应用只有这一个

生命周期钩子函数

如果你有 vue 或者 react 的开发经验,那么生命周期钩子函数也是非常熟悉的。所谓生命周期钩子函数,就是在一些固定的时间点自动触发的函数。

在 App 构造器中,我们能够书写的生命周期钩子函数如下:

在这里插入图片描述

什么叫做进入后台状态?

用户点击右上角的关闭按钮,或者按手机设备的Home键离开小程序,此时小程序并没有被销毁,这种情况称为“小程序进入后台状态”。

注意,onLaunch、onShow 这两个生命周期钩子函数是接收一个参数的。

因为打开小程序的方式多种多样,有些时候,我们需要根据不同的打开方式,做一些不同的业务处理。

示例如下:

在这里插入图片描述

获取全局数据

在微信小程序中,我们有些时候需要不同的页面共享一些公共的数据。

在诸如 vue、react 这种框架中,有专门的状态处理库,在微信小程序中,通过的是 globalData 来共享数据。

globalData 位于 App 构造器中,如下图:

在这里插入图片描述

其他页面如何获取公共的数据?

非常简单,在各个页面的 js 文件中,通过 getApp 函数首先获取到 App 的实例,之后访问该实例的 globalData 数据即可

const app = getApp()
console.log("globalData: ",app.globalData);

有一点一定要注意,虽然在小程序中有多个页面,但是多个页面的 JS 跑在一个线程中,这也就意味着假设你在当前页面设置了定时器,从一个页面跳到另外一个页面,之前所设置的计时器并不会被清除掉。所以需要我们在离开页面的时候手动的来清理掉这些计时器。

另外还有一点,虽然我们通过 getApp 能够获取到 App 的实例,但是一般仅仅是拿来获取 globalData,不要去主动调用生命周期钩子函数,生命周期钩子函数应当是在对应的时间点主动触发的。

Page 构造器

Page构造器位于每个页面的 JS 下面。

我们之前实际上已经接触过一个 Page 构造器的配置项,那就是 data。通过配置 data 里面的数据,可以指定在页面中渲染一些动态的数据。

生命周期钩子函数

Page 除了配置 data 配置项以外,还以配置相应的生命周期钩子函数。

能够配置的选项如下表:

在这里插入图片描述

  • onLoad:页面销毁之前会调用一次,当前页面已经加载好了
  • onShow:每次当前页面被显示的时候会调用
  • onReady:页面销毁之前会调用一次,表示当前页面已经渲染完毕

什么算是页面销毁?或者说什么时候页面会被销毁?

当前页面使用wx.redirectTo或wx.navigateBack返回到其他页时,当前页面会被微信客户端销毁回收

和 App 构造器中的生命周期钩子函数相同,不要去主动调用,而是应该在对应的时间点自动触发。总之你记住,只要是生命周期钩子函数,都应该是自动的触发,而不应该去手动的调用。

关于参数的传递

在进行页面跳转的时候,往往存在一种情况,就是当前页面需要传递一个 id 给新的页面,新的页面就根据当前这个 id 显示详情信息。

在跳转的时候,可以通过如下的方式来进行跳转:

wx.navigateTo({ url: '/pages/detail/detail?id=1&other=abc' })

实际上就和我们 GET 请求传参是一样的。

接下来的问题就是新的页面如何拿到这个参数?

在 onLoad 生命周期钩子中,可以接收一个参数,通过该参数就能够拿到前一个页面传递过来的参数:

Page({onLoad: function(option) {console.log(option.id)console.log(option.other)}
})

data 中配置数据

最后就是关于设置 Page 构造器中 data 里面数据的问题,通过 this.setData 来进行设置。该方法接收两个参数,一个是新的数据,另一个是页面随着数据更新重新渲染后的回调函数。

editTestHandle(){this.setData({test : "aaaaaa"}, function(){console.log("修改完毕,页面已经更新了")})
}

设置的时候,只需要设置更新的数据即可。

同时还有如下的注意点:

  1. 直接修改 Page实例的this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
  2. 由于setData是需要两个线程的一些通信消耗,为了提高性能,每次设置的数据不应超过1024kB。
  3. 不要把data中的任意一项的value设为undefined,否则可能会有引起一些不可预料的bug。

本节课结束,下来请通读官方文档对应部分:https://developers.weixin.qq.com/ebook?action=get_post_info&docid=0004eec99acc808b00861a5bd5280a

http://www.dtcms.com/wzjs/237258.html

相关文章:

  • 企业网站建设是什么郴州seo网络优化
  • 网站悬浮广告代码浏览器老是出现站长工具
  • 湖北民族建设集团网站首页友情链接交换网
  • 电脑自带的做网站叫什么软件免费收录网站提交
  • 可以做查询功能的网站seo搜索引擎入门教程
  • 网站建设公司如何发展短视频赚钱app软件
  • 泉做网站的公司企业邮箱怎么申请
  • 网站原型设计流程搜索引擎网站推广如何优化
  • 建设银行个人网站官网app注册推广团队
  • 网站开发工具特点总结广东东莞今日最新消息
  • 福州网站制作建设云南seo公司
  • 电子商务与网站建设论文网站建设公司地址在哪
  • 做鞋的网站优化大师班级优化大师
  • 机关网站建设和运行情况汇报小说关键词提取软件
  • 动态网站设计的目的百度投诉热线中心客服
  • 成都企业网站制作哪家好宁波seo推广外包公司
  • 中国建设银行网站暑假工报名买转发链接
  • 上海 网站开发 工作室长春网站优化页面
  • 如何使用表格做网站如何自己开网站
  • 邯郸做移动网站多少钱市场调研分析
  • 广东两学一做网站深圳市龙华区
  • 天津外包加工网seo网站排名查询
  • China wordpress汕头seo全网营销
  • 求制作网站搜索引擎关键词排名优化
  • 网站建设需要考什么证企业网站的推广形式有
  • 实时国际新闻app连云港seo
  • 温州建站软件营销课程
  • sql注入网站源码苏州seo优化公司
  • 优化课程网站站内关键词优化
  • 桂林两江四湖夜游时间东莞seo建站咨询