当前位置:首页 > VUE

vue实现电影选择

2026-01-08 17:06:17VUE

Vue实现电影选择功能

使用Vue实现电影选择功能可以通过以下方式完成:

创建Vue实例和数据 在Vue实例中定义电影列表数据,包含电影名称、图片、评分等信息。

vue实现电影选择

new Vue({
  el: '#app',
  data: {
    movies: [
      { id: 1, title: '肖申克的救赎', poster: 'url1', rating: 9.7, selected: false },
      { id: 2, title: '阿甘正传', poster: 'url2', rating: 9.5, selected: false },
      { id: 3, title: '泰坦尼克号', poster: 'url3', rating: 9.4, selected: false }
    ],
    selectedMovie: null
  }
})

实现选择功能 通过v-for指令渲染电影列表,并为每个电影项添加点击事件。

<div id="app">
  <div class="movie-list">
    <div 
      v-for="movie in movies" 
      :key="movie.id"
      @click="selectMovie(movie)"
      :class="{ 'selected': movie.selected }"
    >
      <img :src="movie.poster" :alt="movie.title">
      <h3>{{ movie.title }}</h3>
      <p>评分: {{ movie.rating }}</p>
    </div>
  </div>
  <div v-if="selectedMovie" class="selected-movie">
    <h2>已选择: {{ selectedMovie.title }}</h2>
  </div>
</div>

添加样式 为选中的电影添加特殊样式,提高用户体验。

vue实现电影选择

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

.movie-list > div {
  cursor: pointer;
  border: 1px solid #ddd;
  padding: 10px;
  width: 200px;
}

.selected {
  border: 2px solid #42b983;
  background-color: #f5f5f5;
}

.selected-movie {
  margin-top: 20px;
  padding: 15px;
  background-color: #42b983;
  color: white;
}

实现选择逻辑 在methods中添加selectMovie方法,处理电影选择逻辑。

methods: {
  selectMovie(movie) {
    // 重置所有电影的选中状态
    this.movies.forEach(m => m.selected = false);
    // 设置当前电影为选中状态
    movie.selected = true;
    this.selectedMovie = movie;
  }
}

优化体验 可以添加搜索功能,方便用户快速找到想看的电影。

<input v-model="searchQuery" placeholder="搜索电影...">

<div v-for="movie in filteredMovies">
  <!-- 电影项 -->
</div>
computed: {
  filteredMovies() {
    return this.movies.filter(movie => 
      movie.title.toLowerCase().includes(this.searchQuery.toLowerCase())
    );
  }
}

通过以上步骤,可以构建一个基本的电影选择功能,用户可以从列表中选择喜欢的电影,系统会显示用户的选择并提供视觉反馈。

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

相关文章

jq 实现 vue

jq 实现 vue

jq 实现 Vue 的核心功能 jq 是一个轻量级的 JavaScript 库,主要用于 DOM 操作和事件处理。虽然它不能完全替代 Vue,但可以通过一些技巧模拟 Vue 的核心功能,如数据绑定、事…

vue实现过程

vue实现过程

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

vue插槽实现

vue插槽实现

插槽的基本概念 Vue插槽(Slot)是一种内容分发机制,允许父组件向子组件传递模板片段,子组件通过<slot>标签定义接收位置。插槽的核心作用是增强组件的灵活性和复用性。 默认插槽 子…

vue实现通知

vue实现通知

Vue 实现通知功能的方法 使用 Vue 实现通知功能可以通过多种方式实现,以下是一些常见的方法: 使用 Vue 的全局事件总线 在 Vue 中可以通过事件总线实现通知功能。创建一个全局事件总线,然…

vue实现route

vue实现route

Vue 路由实现方法 Vue 中实现路由通常使用 vue-router 库,这是 Vue 官方推荐的路由管理器。以下是具体实现步骤: 安装 vue-router 通过 npm 或 yarn 安装…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…