2.分析生命周期.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>分析生命周期</title>
  8. <!-- 引入vue -->
  9. <script type="text/javascript" src="../js/vue.js"></script>
  10. </head>
  11. <body>
  12. <!-- 准备一个容器 -->
  13. <div id="root">
  14. <h2>当前的n值是:{{n}}</h2>
  15. <button @click="add">点我n+1</button>
  16. <button @click="bye">点我销毁vm</button>
  17. </div>
  18. </body>
  19. <script>
  20. Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
  21. new Vue({
  22. el: '#root',
  23. // template模板:可以替换掉容器里的内容,必须只能有一个容器,如果写成一行
  24. // 可以使用单引号,如果需要换行,则需要使用着重号
  25. // template不能作为根标签使用
  26. // template:'<div><h2>当前的n值是:{{n}}</h2><button @click="add">点我n+1</button></div>',
  27. // template:`<div>
  28. // <h2>当前的n值是:{{n}}</h2>
  29. // <button @click="add">点我n+1</button>
  30. // </div>`,
  31. data: {
  32. n: 1
  33. },
  34. methods: {
  35. add(){
  36. console.log('add')
  37. this.n++
  38. },
  39. bye(){
  40. console.log('bye');
  41. this.$destroy()
  42. }
  43. },
  44. watch:{
  45. n(){
  46. console.log('n变了')
  47. }
  48. },
  49. beforeCreate() {
  50. console.log('beforeCreate')
  51. // console.log(this)
  52. // debugger; //添加debugger,就是添加一个断点,让程序运行到此处时暂停
  53. },
  54. created() {
  55. console.log('created')
  56. // console.log(this)
  57. // debugger;
  58. },
  59. beforeMount() {
  60. console.log('beforeMount')
  61. // console.log(this)
  62. // debugger;
  63. },
  64. mounted() {
  65. console.log('mounted')
  66. // console.log(this)
  67. // console.log(this.$el instanceof HTMLElement)
  68. // debugger;
  69. },
  70. beforeUpdate() {
  71. console.log('beforeUpdate')
  72. // console.log(this.n)
  73. // debugger
  74. },
  75. updated() {
  76. console.log('updated')
  77. // console.log(this.n)
  78. // debugger
  79. },
  80. beforeDestroy() {
  81. console.log('beforeDestroy')
  82. console.log(this.n)
  83. this.add()
  84. },
  85. destroyed() {
  86. console.log('destroyed')
  87. },
  88. })
  89. </script>
  90. </html>