8_生命周期函数.html 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div>{{num}}</div>
  11. <!-- 如果事件可以用一条js语句执行 可以直接写在事件中 不用定义事件处理函数 -->
  12. <button @click="num++">按钮</button>
  13. <button @click="destroyFun">销毁按钮</button>
  14. </div>
  15. <script src="./js/vue.js"></script>
  16. <script>
  17. let vm = new Vue({
  18. el: "#app",
  19. data: {
  20. num: 10
  21. },
  22. // 生命周期函数 每一个vue的页面都是会经历一个完整生命过程 在这个过程一些特定节点vue会自动调用一些函数来通知我们是否需要一些操作
  23. // 实例化vue之前调用
  24. beforeCreate() {
  25. console.log("beforeCreate")
  26. },
  27. // 实例化vue之后调用
  28. // created 一般用作于 刚进入页面从服务端获取数据
  29. created() {
  30. console.log("created")
  31. },
  32. // 挂载之前调用
  33. beforeMount() {
  34. console.log("beforeMount")
  35. },
  36. // 挂载之后调用
  37. // mounted 一般用作于 挂载完成后 对dom元素进行操作
  38. mounted() {
  39. console.log("mounted")
  40. },
  41. // beforeCreate created beforeMount mounted 这四个函数都是在实例化vue的时候调用的 只要刷新页面 这四个函数就会调用一次
  42. // 更新之前调用 当data中的数据发生改变时 会调用beforeUpdate函数
  43. beforeUpdate() {
  44. console.log("beforeUpdate")
  45. },
  46. // 更新之后调用 当data中的数据发生改变时 会调用updated函数
  47. updated() {
  48. console.log("updated")
  49. },
  50. // 销毁之前调用 当调用vm.$destroy()方法时 会调用beforeDestroy函数
  51. // 一般情况 离开当前页面会自动销毁当前vue实例
  52. // beforeDestroy 离开页面前做的一些操作 比如 清除定时器 清除事件监听 清除dom元素等
  53. beforeDestroy() {
  54. console.log("beforeDestroy")
  55. },
  56. // 销毁之后调用 当调用vm.$destroy()方法时 会调用destroyed函数
  57. destroyed() {
  58. console.log("destroyed")
  59. },
  60. // 自定义方法
  61. methods: {
  62. destroyFun() {
  63. vm.$destroy()
  64. }
  65. }
  66. })
  67. </script>
  68. </body>
  69. </html>