当前位置:首页 > VUE

vue实现电影选择

2026-02-11 07:53:35VUE

Vue实现电影选择功能

数据准备

创建电影数据数组,包含电影名称、海报、简介等信息。数据可以存储在组件的data中或通过API获取。

data() {
  return {
    movies: [
      { id: 1, title: '电影1', poster: 'url1', description: '简介1' },
      { id: 2, title: '电影2', poster: 'url2', description: '简介2' }
    ],
    selectedMovie: null
  }
}

电影列表展示

使用v-for指令渲染电影列表,为每个电影项添加点击事件。

<div class="movie-list">
  <div 
    v-for="movie in movies" 
    :key="movie.id"
    @click="selectMovie(movie)"
    class="movie-item"
  >
    <img :src="movie.poster" :alt="movie.title">
    <h3>{{ movie.title }}</h3>
  </div>
</div>

选择电影处理

在methods中定义选择电影的方法,更新selectedMovie数据。

methods: {
  selectMovie(movie) {
    this.selectedMovie = movie
  }
}

选中电影展示

创建区域展示选中电影的详细信息。

<div v-if="selectedMovie" class="selected-movie">
  <h2>{{ selectedMovie.title }}</h2>
  <img :src="selectedMovie.poster" :alt="selectedMovie.title">
  <p>{{ selectedMovie.description }}</p>
</div>

样式优化

添加CSS样式美化电影列表和选中状态。

.movie-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.movie-item {
  cursor: pointer;
  width: 150px;
  transition: transform 0.3s;
}

.movie-item:hover {
  transform: scale(1.05);
}

.selected-movie {
  margin-top: 30px;
  padding: 20px;
  background: #f5f5f5;
  border-radius: 8px;
}

功能扩展

添加搜索过滤功能,使用计算属性实现。

computed: {
  filteredMovies() {
    return this.movies.filter(movie => 
      movie.title.toLowerCase().includes(this.searchQuery.toLowerCase())
    )
  }
}
<input v-model="searchQuery" placeholder="搜索电影">

响应式设计

使用媒体查询确保在不同设备上良好显示。

vue实现电影选择

@media (max-width: 768px) {
  .movie-list {
    justify-content: center;
  }

  .movie-item {
    width: 120px;
  }
}

标签: 电影vue
分享给朋友:

相关文章

vue实现多选div

vue实现多选div

实现多选 DIV 的基本思路 在 Vue 中实现多选 DIV 功能,可以通过以下方法实现。主要思路是利用 v-model 绑定选中状态,结合 CSS 类名动态切换样式。 数据准备与模板结构 定义一个…

vue实现防抖节流

vue实现防抖节流

Vue 中实现防抖(Debounce) 防抖的核心是延迟执行函数,在连续触发时取消前一次的调用,只执行最后一次。适用于输入框搜索、窗口大小调整等场景。 方法1:使用 Lodash 的 _.debou…

vue实现高亮

vue实现高亮

Vue 实现文本高亮的方法 在 Vue 中实现文本高亮可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-html 指令 通过 v-html 指令可以动态插入 HTML 内容,将需要高…

vue scrolltop 实现

vue scrolltop 实现

实现 Vue 中的 scrollTop 在 Vue 中实现滚动到顶部功能可以通过多种方式完成,包括使用原生 JavaScript、Vue 指令或第三方库。以下是几种常见的实现方法: 使用原生 Jav…

vue实现队列

vue实现队列

Vue 实现队列功能 在 Vue 中实现队列功能可以通过多种方式完成,以下是几种常见的方法: 使用数组模拟队列 队列遵循先进先出(FIFO)原则,可以用数组的 push 和 shift 方法模拟入队…

vue实现幻灯

vue实现幻灯

Vue实现幻灯片的基础方法 使用Vue实现幻灯片功能可以通过多种方式完成,以下是几种常见方案: 方案一:基于Vue的过渡动画 通过Vue的<transition>或<transit…