CatalogItem.vue 574 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <div
  3. class="cata-text"
  4. :class="{ selected: isSelected(source.index) }"
  5. @click="gotoChapter(source)"
  6. >
  7. {{ source.title }}
  8. </div>
  9. </template>
  10. <script setup>
  11. defineProps(["index", "source", "gotoChapter"]);
  12. const store = useBookStore();
  13. const index = computed(() => store.readingBook.index);
  14. const isSelected = (idx) => {
  15. return idx == index.value;
  16. };
  17. </script>
  18. <style lang="scss" scoped>
  19. .selected {
  20. color: #eb4259;
  21. }
  22. .cata-text {
  23. margin-right: 26px;
  24. overflow: hidden;
  25. white-space: nowrap;
  26. text-overflow: ellipsis;
  27. }
  28. </style>