item-card.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <!-- padding-left: 10px; padding-right: 10px; -->
  3. <div style="width: 320px">
  4. <router-link :to="`/video/${videoInfo.videoId}`">
  5. <v-img
  6. :src="videoInfo.coverUrl"
  7. outlined
  8. aspect-ratio="1.77"
  9. />
  10. </router-link>
  11. <v-row>
  12. <v-col cols="2">
  13. <router-link v-if="videoInfo.userId !== null" :to="`/u/${videoInfo.userId}`">
  14. <v-avatar size="48">
  15. <v-img :src="videoInfo.avatarUrl" />
  16. </v-avatar>
  17. </router-link>
  18. </v-col>
  19. <v-col cols="10">
  20. <p style="font-size: 15px; margin-bottom: 0px;color: black;">
  21. <router-link :to="`/video/${videoInfo.videoId}`" style="color: black;"> {{ videoInfo.title }} </router-link>
  22. </p>
  23. <p style="font-size: 10px; color: #606060;">
  24. <router-link v-if="videoInfo.userId !== null" :to="`/u/${videoInfo.userId}`"> {{ videoInfo.username }}</router-link>
  25. <br>
  26. {{ videoInfo.viewCount }} 观看 <span v-html="`&nbsp;&nbsp;`" />
  27. {{ videoInfo.commentCount }} 评论 <span v-html="`&nbsp;&nbsp;`" />
  28. </p>
  29. </v-col>
  30. </v-row>
  31. </div>
  32. </template>
  33. <script>
  34. import TimeUtil from '@/utils/time-util.vue'
  35. export default {
  36. name: 'ItemCard',
  37. props: {
  38. video: {
  39. type: Object,
  40. default: () => {}
  41. }
  42. },
  43. data() {
  44. return {
  45. TimeUtil,
  46. videoInfo: this.video
  47. }
  48. },
  49. created() {
  50. }
  51. }
  52. </script>
  53. <style>
  54. </style>