3.嵌套组件.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. {{msg3}}
  11. <list></list>
  12. <list3></list3>
  13. <list2></list2>
  14. </div>
  15. <script src="./vue.js"></script>
  16. <script>
  17. const list1 = Vue.extend({
  18. name:"list1",
  19. template:`
  20. <div>{{name}}</div>
  21. `,
  22. data() {
  23. return{
  24. name:'何盈盈'
  25. }
  26. }
  27. })
  28. const list3 = Vue.extend({
  29. name:"list3",
  30. template:`
  31. <div>
  32. <i>{{msg5}}</i>
  33. <h2>振博睡觉</h2>
  34. <list1></list1>
  35. </div>
  36. `,
  37. data() {
  38. return{
  39. msg5:'真香'
  40. }
  41. },
  42. // 注册组件(局部)
  43. components:{
  44. list1
  45. }
  46. })
  47. const list2 = Vue.extend({
  48. name:"list2",
  49. template:`
  50. <div>
  51. <h2>陈悠</h2>
  52. {{www}}
  53. </div>
  54. `,
  55. data() {
  56. return{
  57. www:'真美'
  58. }
  59. }
  60. })
  61. const list = Vue.extend({
  62. name:"list",
  63. template:`
  64. <div>
  65. <h2>邵柏洋</h2>
  66. <i>{{msg2}}</i>
  67. </div>
  68. `,
  69. data() {
  70. return{
  71. msg2:'玩红警'
  72. }
  73. },
  74. })
  75. new Vue({
  76. el:"#app",
  77. data:{
  78. msg3:"陈悠今天真好看"
  79. },
  80. components:{
  81. list,
  82. list3,
  83. list2
  84. }
  85. })
  86. </script>
  87. </body>
  88. </html>