当前位置:首页 > 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 中的实现方法 使用 HTML5 原生拖放 API Vue 可以结合 HTML5 的拖放 API 实现基础拖拽功能。通过 draggable 属性标记可拖拽元素,监听 dragst…

vue实现ai

vue实现ai

Vue 实现 AI 功能 Vue.js 可以通过集成第三方 AI 服务或本地 AI 模型来实现 AI 功能。以下是几种常见的方法: 集成第三方 AI API 使用 Vue 调用如 OpenAI、Go…

vue 动画实现

vue 动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要分为内置组件和第三方库集成。 使用 Vue 内置过渡组件 Vue 的 <transition> 和 <transiti…

vue scrolltop 实现

vue scrolltop 实现

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

vue实现登录认证

vue实现登录认证

Vue 登录认证实现方法 使用 Vue Router 和 Vuex 管理登录状态 在 Vue 项目中,通常使用 Vue Router 进行路由管理,Vuex 进行状态管理。登录认证的核心是验证用户身份…

vue界面实现滚动

vue界面实现滚动

实现滚动的基本方法 在Vue中实现滚动效果可以通过多种方式完成,包括使用原生CSS、JavaScript或第三方库。以下是一些常见的实现方法: 使用CSS实现滚动 通过CSS的overflow属性可…