当前位置:首页 > VUE

vue实现图库页面

2026-03-08 19:16:53VUE

Vue 实现图库页面

数据准备与结构设计

使用 Vue 的 datasetup(Composition API)定义图片数据数组,每张图片包含 idsrctitle 等字段。示例数据结构:

data() {
  return {
    images: [
      { id: 1, src: 'path/to/image1.jpg', title: '示例1' },
      { id: 2, src: 'path/to/image2.jpg', title: '示例2' }
    ]
  }
}

图片列表渲染

通过 v-for 循环渲染图片缩略图,使用 <img> 标签绑定 src 和点击事件:

<div class="gallery">
  <div v-for="image in images" :key="image.id" @click="openModal(image)">
    <img :src="image.src" :alt="image.title">
    <p>{{ image.title }}</p>
  </div>
</div>

模态框实现

通过 v-showv-if 控制模态框显示,展示大图及详细信息:

vue实现图库页面

<div class="modal" v-show="selectedImage">
  <img :src="selectedImage.src" :alt="selectedImage.title">
  <button @click="closeModal">关闭</button>
</div>

对应方法:

methods: {
  openModal(image) {
    this.selectedImage = image;
  },
  closeModal() {
    this.selectedImage = null;
  }
}

样式优化

添加 CSS 实现网格布局和过渡动画:

vue实现图库页面

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}

懒加载优化

使用 Intersection Observervue-lazyload 插件实现图片懒加载:

import VueLazyload from 'vue-lazyload'
Vue.use(VueLazyload, {
  loading: 'placeholder-image.jpg'
})

模板中替换 srcv-lazy

<img v-lazy="image.src" :alt="image.title">

分页加载

结合 v-infinite-scroll 或自定义滚动事件实现分页:

loadMore() {
  if (this.isLoading) return;
  this.isLoading = true;
  fetchNextPage().then(newImages => {
    this.images.push(...newImages);
    this.isLoading = false;
  });
}

标签: 图库页面
分享给朋友:

相关文章

vue文件实现页面跳转

vue文件实现页面跳转

Vue文件实现页面跳转的方法 在Vue项目中,页面跳转可以通过Vue Router实现。以下是几种常见的实现方式: 声明式导航 使用<router-link>组件实现跳转,适合模板中使用…

css如何制作页面模糊

css如何制作页面模糊

使用 backdrop-filter 属性 通过 backdrop-filter 属性可以直接为元素背后的区域添加模糊效果。该属性需要浏览器支持(如 Chrome、Edge、Safari)。示例代码:…

h5实现登录页面跳转页面跳转页面跳转

h5实现登录页面跳转页面跳转页面跳转

使用HTML5实现登录页面跳转 在HTML5中实现登录页面跳转可以通过多种方式完成,包括表单提交、JavaScript跳转和超链接跳转。以下是几种常见的实现方法。 表单提交跳转 使用HTML表单的a…

vue实现引导页面

vue实现引导页面

实现引导页面的方法 在Vue中实现引导页面通常需要结合用户交互和页面跳转逻辑,以下是几种常见的实现方式: 使用路由守卫控制访问权限 在router.js中配置全局前置守卫,检查用户是否首次访问:…

vue实现页面手写

vue实现页面手写

Vue 实现手写功能 在 Vue 中实现手写功能通常需要使用 HTML5 的 Canvas 元素,结合鼠标或触摸事件来捕捉用户的绘制动作。以下是实现步骤和代码示例: 基础实现步骤 创建一个 Vue…

js实现跳转页面

js实现跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性可以跳转到指定 URL。这是最常见且简单的方法,会触发页面刷新并加载新页面。 win…