美文网首页
2019-08-29

2019-08-29

作者: 姚小瘦 | 来源:发表于2019-08-29 08:39 被阅读0次

1.Object.freeze()

Object.freeze() 方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。

2.微信小程序节点查询的API - wx.createSelectorQuery()。

Page({

  queryMultipleNodes: function(){//声明节点查询的方法

var query = wx.createSelectorQuery()//创建节点查询器 query

    query.select('#the-id').boundingClientRect()//这段代码的意思是选择Id=the-id的节点,获取节点位置信息的查询请求

    query.selectViewport().scrollOffset()//这段代码的意思是获取页面滑动位置的查询请求

    query.exec(function(res){

      res[0].top      // #the-id节点的上边界坐标

      res[1].scrollTop // 显示区域的竖直滚动位置

    })

  }

})

 

(1)onload 对应的是加载中,也就是webkit加载页面的方法执行。

(2)onShow 对应的页面显示,并不算是数据填充后的显示,而是“页面框架的加载”

(3)onReady 指的是“页面框架的显示”,而并非页面数据与节点加载渲染完成。

(4)微信小程序之所以这么设计应该是照顾到webkit内核压力的缘故,使得页面整个加载分为多个步骤,异步进行。

结论:

证明他们的执行顺序是:

onLoad >> onShow >> onReady

查询方法: wx.createSelectorQuery(),在页面响应事件中并不能查询到节点信息。

如有查询节点需求可以用延时方法或者操作事件来获取。

相关文章

网友评论

      本文标题:2019-08-29

      本文链接:https://www.haomeiwen.com/subject/bsjbectx.html