生命周期

虽然这是过时的方法,但是2.3.8版本之后也兼容。

2.3.9版本之后请参考这里

:::tip 除了自有的生命周期钩子以外,eeui还支持的原生生命周期回调lifecycle,含:页面挂载、页面恢复、页面暂停。 :::

  1. <template>
  2. <div @lifecycle="lifecycle">
  3. ...
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. beforeCreate: function (){
  9. console.log('beforeCreate');
  10. },
  11. created: function () {
  12. console.log('created');
  13. },
  14. beforeMount: function () {
  15. console.log('beforeMount');
  16. },
  17. mounted: function () {
  18. console.log('mounted');
  19. },
  20. beforeUpdate: function () {
  21. console.log('beforeUpdate');
  22. },
  23. updated: function () {
  24. console.log('updated');
  25. },
  26. beforeDestroy: function () {
  27. console.log('beforeDestroy');
  28. },
  29. destroyed: function () {
  30. console.log('destroyed');
  31. },
  32. methods: {
  33. //生命周期回调
  34. lifecycle(e){
  35. console.log(e.status);
  36. if (e.status == 'ready')
  37. {
  38. console.log('页面挂载(初始化)');
  39. }
  40. else if (e.status == 'resume')
  41. {
  42. console.log('页面激活(恢复)');
  43. }
  44. else if (e.status == 'pause')
  45. {
  46. console.log('页面失活(暂停)');
  47. }
  48. else if (e.status == 'destroy')
  49. {
  50. console.log('页面停止(销毁)'); //destroy 状态 1.0.38+ 版本支持
  51. }
  52. }
  53. }
  54. }
  55. </script>

生命周期钩子

Vue 组件的实例生命周期钩子将在特定的阶段发出,详情请参考 Vue 组件的生命周期图示

Vue 生命周期钩子 是否支持 说明
beforeCreate 支持 -
created 支持 -
beforeMount 支持 -
mounted 支持 详见下文解释
beforeUpdate 支持 -
updated 支持 -
activated 不支持 不支持<keep-alive>
deactivated 不支持 不支持<keep-alive>
beforeDestroy 支持 -
destroyed 支持 -
errorCaptured 支持 -

::: warning 关于 “mounted” 生命周期

和浏览不同的是,eeui 的渲染流程是异步的,而且渲染出来的结果都是原生系统中的 View,这些数据都无法被 javascript 直接获取到。因此在 eeui 上,Vue 的 mounted 生命周期在当前组件的 virtual-dom (Vue 里的 VNode) 构建完成后就会触发,此时相应的原生视图未必已经渲染完成。 :::