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 的目标就是一套代码支持多个平台,而不同平台的写法各异,代码的编译转换没有那么轻松,多少会有些瑕疵。
「@浪里淘沙的小法师」