1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>组件嵌套</title>
    6. <script src="../js/vue.js"></script>
    7. </head>
    8. <body>
    9. <div id="root"></div>
    10. <script>
    11. // 创建 Y1 组件
    12. const y1 = {
    13. template : `
    14. <div>
    15. <h3>Y1 组件</h3>
    16. </div>
    17. `
    18. }
    19. // 创建 X1 组件
    20. const x1 = {
    21. template : `
    22. <div>
    23. <h3>X1 组件</h3>
    24. </div>
    25. `
    26. }
    27. // 创建 Y 组件
    28. const y = {
    29. template : `
    30. <div>
    31. <h2>Y 组件</h2>
    32. <y1></y1>
    33. </div>
    34. `,
    35. components : {y1}
    36. }
    37. // 创建 X 组件
    38. const x = {
    39. template : `
    40. <div>
    41. <h2>X 组件</h2>
    42. <x1></x1>
    43. </div>
    44. `,
    45. components : {x1}
    46. }
    47. // 创建 app 组件
    48. const app = {
    49. template : `
    50. <div>
    51. <h1>App 组件</h1>
    52. <x></x>
    53. <y></y>
    54. </div>
    55. `,
    56. // 注册 X 组件
    57. components : {x,y}
    58. }
    59. // vm
    60. const vm = new Vue({
    61. el : '#root',
    62. template : `
    63. <app></app>
    64. `,
    65. // 注册 app 组件
    66. components : {app}
    67. })
    68. </script>
    69. </body>
    70. </html>

    嵌套结构:这种结构更加贴切实际项目的开发
    image.png