当前位置:首页 > 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
分享给朋友:

相关文章

vue实现购物按钮

vue实现购物按钮

Vue 购物按钮实现方法 基础按钮实现 使用 Vue 的模板语法创建基础按钮组件,绑定点击事件处理购物逻辑: <template> <button @click="addToC…

vue实现$.extend

vue实现$.extend

Vue 实现类似 jQuery 的 $.extend 功能 在 Vue 中实现类似 jQuery 的 $.extend 功能,可以通过多种方式完成。$.extend 主要用于合并多个对象的属性,Vue…

lua 实现vue

lua 实现vue

在 Lua 中实现类似 Vue 的响应式框架需要模拟 Vue 的核心功能,包括数据绑定、模板渲染和依赖追踪。以下是实现的关键思路和代码示例: 响应式数据绑定 使用 Lua 的 __index 和 _…

vue 实现 confirm

vue 实现 confirm

实现确认对话框的方法 在Vue中实现确认对话框可以通过多种方式完成,包括使用内置组件、第三方库或自定义组件。 使用浏览器原生confirm 最简单的实现方式是直接调用浏览器原生的confirm方法。…

proxy实现vue

proxy实现vue

使用 Proxy 实现 Vue 响应式系统 Vue 3 的响应式系统基于 JavaScript 的 Proxy API,通过代理对象实现对属性的拦截和依赖追踪。以下是实现的核心逻辑: 创建响…

vue实现微云

vue实现微云

Vue 实现微云功能 使用 Vue 实现类似微云的网盘功能需要结合前端框架、后端存储及文件处理技术。以下是关键实现步骤和代码示例: 前端框架搭建 使用 Vue CLI 创建项目基础结构,安装必要依赖…