App.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. </div>
  66. <div class="flex-1 ml-8">
  67. <RouterView></RouterView>
  68. </div>
  69. </div>
  70. </div>
  71. </template>
  72. <script lang="ts" setup>
  73. import { ref, reactive } from "vue";
  74. </script>
  75. <style lang="scss" scoped>
  76. .active {
  77. background: plum;
  78. color: #fff;
  79. }
  80. </style>