App.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <div class="text-xl">
  3. <h1
  4. class="text-5xl font-bold text-purple-600 text-center h-32 leading-[128px]"
  5. >
  6. Vue3组件通信
  7. </h1>
  8. <hr />
  9. <div class="flex p-6">
  10. <div class="w-64 flex flex-col">
  11. <RouterLink
  12. active-class="active"
  13. class="border h-12 flex justify-center items-center"
  14. to="/props"
  15. >1.props</RouterLink
  16. >
  17. <RouterLink
  18. active-class="active"
  19. class="border h-12 flex justify-center items-center"
  20. to="/custom"
  21. >2.custom</RouterLink
  22. >
  23. <RouterLink
  24. active-class="active"
  25. class="border h-12 flex justify-center items-center"
  26. to="/mitt"
  27. >3. mitt</RouterLink
  28. >
  29. <RouterLink
  30. active-class="active"
  31. class="border h-12 flex justify-center items-center"
  32. to="/refs"
  33. >4.refs-parent</RouterLink
  34. >
  35. <RouterLink
  36. active-class="active"
  37. class="border h-12 flex justify-center items-center"
  38. to="/attrs"
  39. >5. $attrs</RouterLink
  40. >
  41. <RouterLink
  42. active-class="active"
  43. class="border h-12 flex justify-center items-center"
  44. to="/provide"
  45. >6. provide-inject</RouterLink
  46. >
  47. <RouterLink
  48. active-class="active"
  49. class="border h-12 flex justify-center items-center"
  50. to="/slot1"
  51. >7. 默认插槽</RouterLink
  52. >
  53. <RouterLink
  54. active-class="active"
  55. class="border h-12 flex justify-center items-center"
  56. to="/slot2"
  57. >8. 具名插槽</RouterLink
  58. >
  59. <RouterLink
  60. active-class="active"
  61. class="border h-12 flex justify-center items-center"
  62. to="/slot3"
  63. >9. 作用域插槽</RouterLink
  64. >
  65. <RouterLink
  66. active-class="active"
  67. class="border h-12 flex justify-center items-center"
  68. to="/useTemplateRef"
  69. >
  70. useTemplateRef</RouterLink
  71. >
  72. </div>
  73. <div class="flex-1 ml-8">
  74. <RouterView></RouterView>
  75. </div>
  76. </div>
  77. </div>
  78. </template>
  79. <script lang="ts" setup>
  80. import { ref, reactive } from "vue";
  81. </script>
  82. <style lang="scss" scoped>
  83. .active {
  84. background: plum;
  85. color: #fff;
  86. }
  87. </style>