首页
Javascript
Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

vue源码阅读2 - shared/constants.js

2019年11月25日 发布 阅读(2772) 作者:Jerman

constants.js

  • 定义了服务端渲染的属性名称常量SSR_ATTR

  • 定义了一些资产类型常量ASSET_TYPES

  • 定义了生命周期相关钩子函数的函数名称

源码注释

  1. // 定义某个SSR渲染部分的属性
  2. // 如果某个DIV设置data-server-rendered属性为'true',表示这一部分的内容由服务器端渲染完成
  3. // 具体可参考:https://ssr.vuejs.org/zh/guide/hydration.html
  4. export const SSR_ATTR = 'data-server-rendered'
  5. // ASSET TYPES在后续使用时,会用到很多forEach循环
  6. export const ASSET_TYPES = [
  7. // 组件
  8. 'component',
  9. // 指令
  10. 'directive',
  11. // 过滤器
  12. 'filter'
  13. ]
  14. // 生命周期钩子函数名称定义
  15. // 具体参考:https://cn.vuejs.org/v2/api/#beforeCreate
  16. export const LIFECYCLE_HOOKS = [
  17. // 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用
  18. 'beforeCreate',
  19. // 在实例创建完成后被立即调用
  20. 'created',
  21. // 在挂载开始之前被调用:相关的 render 函数首次被调用。SSR时,不生效
  22. 'beforeMount',
  23. // el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。注意 mounted 不会承诺所有的子组件也都一起被挂载,如果要等待整个视图渲染完毕,可以使用vm.$nextTick
  24. 'mounted',
  25. // 数据更新之前调用
  26. 'beforeUpdate',
  27. // 数据更新之后调用
  28. 'updated',
  29. // 实例销毁之前调用
  30. 'beforeDestroy',
  31. // 实例销毁之后调用
  32. 'destroyed',
  33. // keep-alive 组件激活时调用
  34. 'activated',
  35. // keep-alive 组件停用时调用
  36. 'deactivated',
  37. // 当捕获一个来自子孙组件的错误时被调用
  38. 'errorCaptured',
  39. // 2.6.0新增,允许服务器端渲染时,通过`serverPrefetch`预先进行数据获取。返回一个promise
  40. 'serverPrefetch'
  41. ]
版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处