Vue 中应用和组件的基础概念

  1. // createApp 表示创建一个 Vue 应用, 存储到 app 变量中
  2. // 传入的参数表示,这个应用最外层的组件,应该如何展示
  3. // MVVM 设计模式,M -> Model 数据, V -> View 视图, VM -> ViewModel 视图数据连接层
  4. const app = Vue.createApp({
  5. data() {
  6. return {
  7. message: 'hello world'
  8. }
  9. },
  10. template: "<div>{{message}}</div>"
  11. });
  12. // vm 代表的就是 Vue 应用的根组件
  13. const vm = app.mount('#root');
  14. //vm.$data.message='bye';

理解 Vue 中的生命周期函数

  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>lesson 6</title>
  7. <script src="https://unpkg.com/vue@next"></script>
  8. </head>
  9. <body>
  10. <div id="root">
  11. <div>{{message}}</div>
  12. </div>
  13. </body>
  14. <script>
  15. // 生命周期函数:在某一时刻会自动执行的函数
  16. const app = Vue.createApp({
  17. data() {
  18. return {
  19. message: 'hello world'
  20. }
  21. },
  22. // 在实例生成之前会自动执行的函数
  23. beforeCreate() {
  24. console.log('beforeCreate')
  25. },
  26. // 在实例生成之后会自动执行的函数
  27. created() {
  28. console.log('created')
  29. },
  30. // 在组件内容被渲染到页面之前自动执行的函数
  31. beforeMount() {
  32. console.log(document.getElementById('root').innerHTML, 'beforeMount')
  33. },
  34. // 在组件内容被渲染到页面之后自动执行的函数
  35. mounted() {
  36. console.log(document.getElementById('root').innerHTML, 'mounted')
  37. },
  38. // 当数据发生变化时会立即自动执行的函数
  39. beforeUpdate() {
  40. console.log(document.getElementById('root').innerHTML, 'beforeUpdate');
  41. },
  42. // 当数据发生变化,页面重新渲染后,会自动执行的函数
  43. updated() {
  44. console.log(document.getElementById('root').innerHTML, 'updated');
  45. },
  46. // 当 Vue 应用失效时,自动执行的函数
  47. beforeUnmount() {
  48. console.log(document.getElementById('root').innerHTML, 'beforeUnmount');
  49. },
  50. // 当 Vue 应用失效时,且 dom 完全销毁之后,自动执行的函数
  51. unmounted() {
  52. console.log(document.getElementById('root').innerHTML, 'unmounted');
  53. },
  54. });
  55. const vm = app.mount('#root');
  56. </script>
  57. </html>