当前位置:首页 > VUE

vue实现影片列表

2026-03-29 07:24:46VUE

Vue 实现影片列表

数据准备

创建一个包含影片信息的数组,每个影片对象包含标题、封面、评分等属性。数据可以存储在组件的 data 属性中或通过 API 获取。

data() {
  return {
    movies: [
      { id: 1, title: '影片1', cover: 'url1', rating: 8.5 },
      { id: 2, title: '影片2', cover: 'url2', rating: 7.3 },
      { id: 3, title: '影片3', cover: 'url3', rating: 9.1 }
    ]
  }
}

列表渲染

使用 v-for 指令遍历影片数组,动态生成列表项。每个列表项可以包含影片封面、标题和评分等信息。

vue实现影片列表

<div class="movie-list">
  <div v-for="movie in movies" :key="movie.id" class="movie-item">
    <img :src="movie.cover" :alt="movie.title" class="movie-cover">
    <h3>{{ movie.title }}</h3>
    <span class="rating">{{ movie.rating }}</span>
  </div>
</div>

样式设计

为影片列表和列表项添加 CSS 样式,确保布局美观。可以使用 Flexbox 或 Grid 实现响应式布局。

.movie-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.movie-item {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: center;
}

.movie-cover {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.rating {
  color: gold;
  font-weight: bold;
}

交互功能

为影片列表添加交互功能,例如点击影片跳转到详情页或悬停显示更多信息。使用 Vue 的事件绑定实现。

vue实现影片列表

<div v-for="movie in movies" :key="movie.id" class="movie-item" @click="goToDetail(movie.id)">
  <!-- 列表项内容 -->
</div>
methods: {
  goToDetail(id) {
    this.$router.push(`/movie/${id}`);
  }
}

分页加载

如果影片数据较多,可以实现分页加载功能。通过计算属性或 API 分页参数控制当前显示的影片列表。

data() {
  return {
    currentPage: 1,
    pageSize: 10
  }
},
computed: {
  paginatedMovies() {
    const start = (this.currentPage - 1) * this.pageSize;
    return this.movies.slice(start, start + this.pageSize);
  }
}

搜索与筛选

添加搜索框和筛选条件,允许用户按标题、评分等筛选影片。使用计算属性动态过滤影片列表。

<input v-model="searchQuery" placeholder="搜索影片">
<select v-model="ratingFilter">
  <option value="">全部</option>
  <option value="9">9分以上</option>
</select>
computed: {
  filteredMovies() {
    return this.movies.filter(movie => {
      const matchesSearch = movie.title.includes(this.searchQuery);
      const matchesRating = !this.ratingFilter || movie.rating >= this.ratingFilter;
      return matchesSearch && matchesRating;
    });
  }
}

通过以上步骤,可以实现一个功能完善、交互友好的影片列表页面。根据实际需求,可以进一步扩展功能,如收藏、排序等。

标签: 影片列表
分享给朋友:

相关文章

vue实现列表

vue实现列表

实现列表的基本方法 在Vue中实现列表通常使用v-for指令,这是Vue的核心功能之一。v-for可以遍历数组或对象,为每个元素生成对应的DOM节点。 <template> <…

vue列表查询实现

vue列表查询实现

实现Vue列表查询功能 基本数据绑定与渲染 在Vue中实现列表查询,首先需要定义数据源和查询条件。通过v-model绑定搜索输入框,使用计算属性过滤列表。 <template> &l…

vue实现列表分页

vue实现列表分页

Vue 列表分页实现方法 基础分页实现 安装依赖(如使用第三方库) npm install vue-paginate 模板部分示例 <template> <div>…

vue实现筛选列表

vue实现筛选列表

Vue 实现筛选列表的方法 数据绑定与列表渲染 使用 v-for 指令渲染原始列表,绑定到 data 中的数组。例如: data() { return { items: […

vue列表展开实现

vue列表展开实现

Vue 列表展开实现方法 使用 v-for 和 v-show 控制展开状态 通过 v-for 渲染列表项,配合 v-show 控制子内容的显示隐藏。需要为每个列表项维护一个展开状态。 <…

vue实现横向列表

vue实现横向列表

实现横向列表的方法 在Vue中实现横向列表可以通过CSS样式控制列表项的排列方式。横向列表通常用于导航菜单、图片展示等场景。 使用flex布局实现 flex布局是实现横向列表最简单的方法之一,通过设…