export-default.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. </template>
  3. <script>
  4. export default {
  5. name: "export-default", //打包的时候根据name打包
  6. setup() {
  7. /**
  8. * 通过provide/inject可以轻松实现跨级访问父组件的数据
  9. * provide和inject是成对出现的
  10. * 必须放在setup内
  11. * 简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量
  12. * provide 和 inject 绑定并不是可响应的。这是刻意为之的。
  13. * 代码执行顺序data->provide->created->mounted
  14. */
  15. provide("getMapInstance", () => {
  16. return jtMap3d
  17. });
  18. const getMapInstance = inject("getMapInstance");
  19. jtMap3d = getMapInstance()
  20. },
  21. methods: {}, //方法
  22. // props:[],
  23. watch: {},
  24. computed: {},
  25. filters: {},
  26. directives: {},
  27. components: {}, //组件
  28. comments: true, //(是否要注释)
  29. /**
  30. * AAA 页面第一次加载时会执行 beforeCreate, created, beforeMount, mounted这四个生命周期,
  31. */
  32. /**
  33. * 在beforeCreate生命周期执行时,data和methods中的数据还未初始化,所以此时不能使用data中的数据和methods中的方法。
  34. */
  35. beforeCreate:{},
  36. /**
  37. * data 和 methods初始化完毕,此时可以使用methods 中的方法和data 中的数据。
  38. * 在created阶段处理http请求获取数据或者对data做一定的处理
  39. */
  40. created:{},
  41. /**
  42. * template模版已经编译好,但还未挂载到页面,此时页面还是上一个状态。
  43. */
  44. beforeMount:{},
  45. /**
  46. * 此时Vue实例初始化完成了,DOM挂载完毕,可以直接操作dom或者使用第三发dom库。
  47. * 在mounted阶段操作dom,比如使用jquery,或这其他第三方dom库
  48. */
  49. mounted:{},
  50. /**
  51. * 此时data已更新,但还未同步页面。
  52. */
  53. beforeUpdate:{},
  54. /**
  55. * data和页面都已经更新完成。
  56. */
  57. updated:{},
  58. /**
  59. * Vue实例进入销毁阶段,但所有的 data 和 methods ,指令, 过滤器等都处于可用状态。
  60. */
  61. beforeDestory:{},
  62. /**
  63. * 此时组件已经被销毁,data,methods等都不可用。
  64. */
  65. destroyed:{},
  66. }
  67. </script>
  68. <style>
  69. </style>