mounted 和 attched

Vue 中,常常在 mounted 生命周期做相关操作,实例被挂载后
微信小程序中,常常在 attached 生命周期做相关操作,组件完全初始化完毕、进入页面节点树后

watch 和 observers

经测试
watch 一个 property,第一次的值不会被 watch 到,并且 watch操作在 mounted 之后
observe 一个 property,第一次的值也会被 observe 到(它在 attached 之前),后面的 observe操作在 attached 之后

微信小程序的 observers 的使用方法就好像都抽取了一部分 Vue 中 watch 和 computed 的特点,它目的就是一直监听一个数据的变化,并能够产生一些副作用。
这里就说一说 Vue 的 watch 和 computed 和 observers 的特点和用法

  • watch:监听数据的后续变化(不监听首次的值),产生副作用,用于数据变化后的操作
  • computed:一直监听数据的变化,返回一个新值,不产生副作用,用于两个变化的值生成一个新值
  • observers:一直监听数据的变化,产生副作用,用于数据产生和变化的操作和设置新值

uniapp 里的 onLoad 和 mounted
**
这是一个踩坑点,onLoad 是借鉴微信小程序的生命周期,mounted 是使用 Vue 的生命周期。

  • 在这两个地方处理相关联的数据传递时,会发生意料不到的结果
  • 谨慎处理他们之间结合起来发生的微妙关系
  • 方案是遇到问题了根据需求再调
  • 没有捷径,他俩结合就是坑

这个坑的主要原因是 uniapp 的目标就是一套代码支持多个平台,而不同平台的写法各异,代码的编译转换没有那么轻松,多少会有些瑕疵。

「@浪里淘沙的小法师」