当前位置:首页 > 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数据。

vue实现电影选择

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样式美化电影列表和选中状态。

vue实现电影选择

.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="搜索电影">

响应式设计

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

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

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

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

相关文章

vue实现多人视频

vue实现多人视频

实现多人视频通话的Vue方案 使用WebRTC技术结合Vue框架可以构建多人视频通话应用。以下是核心实现方法: 技术栈选择 Vue 2/3作为前端框架 WebRTC用于实时通信 Socket.io…

vue实现按钮组轮换

vue实现按钮组轮换

实现按钮组轮换的方法 在Vue中实现按钮组轮换效果可以通过动态绑定类和事件处理来完成。以下是一种常见的实现方式: 模板部分 <template> <div class="…

vue中登陆实现逻辑

vue中登陆实现逻辑

Vue 中登录实现逻辑 前端实现逻辑 表单验证 使用 Vue 的表单验证库(如 VeeValidate)或自定义验证规则,确保用户输入的账号和密码符合要求。例如,检查邮箱格式、密码长度等。 发送登…

vue实现一个标签选择

vue实现一个标签选择

Vue 标签选择组件实现 基础实现 使用 Vue 的 v-for 和 v-model 指令可以快速实现标签选择功能: <template> <div class="tag-s…

vue实现语音

vue实现语音

Vue 实现语音功能的方法 使用 Web Speech API Vue 可以结合 Web Speech API 实现语音识别和合成功能。Web Speech API 包含 SpeechRecognit…

vue实现过程

vue实现过程

Vue 的实现过程 Vue 的实现过程可以分为多个核心模块,包括响应式系统、虚拟 DOM、模板编译等。以下是 Vue 的主要实现过程分析。 响应式系统 Vue 的响应式系统基于 Object.def…