VUE——超详细的美食杰项目—瀑布流形式

本文详述了如何使用Vue.js实现一个美食杰项目的瀑布流加载效果。在Home.vue组件中,通过获取API数据并利用v-for渲染,同时通过自定义事件实现跨组件操作。waterfall.vue组件通过slot占位符和scroll方法结合节流函数,监听滚动事件并在元素到达底部时加载更多数据。menu-card.vue组件则负责循环显示数据。
摘要由CSDN通过智能技术生成

VUE——超详细的美食杰项目—瀑布流形式

内容介绍

今天我们要写的是滚动条下拉实现从缓冲中到缓冲完瀑布流形式的效果。
下面看效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Home.vue组件

本组件中引入了menu-card 和Waterfall 两个子组件,下面开始获取api中的数据。在moutend中获取getBanner和getMenus的list,把list中的数据在赋值给data 中的banners和getMenus数组

import MenuCard from '@/components/menu-card.vue'
import Waterfall from '@/components/waterfall.vue'
import {
   getBanner,getMenus} from '@/service/api.js'
// 引入 注册 使用
export default {
   
  name: 'home',
  components: {
   
    MenuCard: MenuCard, 
    Waterfall
  },
  data(){
   
    return {
   
      banners:[],
      menuList:[],
      page:1,
      pages:5
    }
  },
  mounted(){
   
    getBanner().then(({
    data})=>{
   
      // console.log(data.list);
      this.banners=data.list
      // console.log(this.banners);
    })

    getMenus({
   page:this.page}).then(({
    data})=>{
   
      console.log(data);
      this.menuList=data.list//存了第一页的五条
      //只能用向下取整
      this.pages=Math.ceil(data.total/data.page_size)
    })
  },
  

利用v-for把banners数据渲染出来。banners是本页面的渲染数据。在waterfall标签中自定义一个view事件,从而实现跨组件操作数据。menu-card标签中用绑定info来获取data中的menuList,在menu-card组件中实现渲染数据

<template>
  <div class="home">
    <!-- 轮播 start -->
    <el-carousel :interval="5000
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue3项目的优化,可以从以下几个方面入手: 1. 使用 Tree Shaking:Tree Shaking是Webpack中的一项功能,可以通过它去除项目中未使用的代码,减小打包文件的体积。在Vue3项目中,可以使用Tree Shaking来移除未被使用的Vue组件,指令和插件等,这样可以减小打包文件的大小,提高页面加载速度。 2. 骨架屏优化:在Vue3项目中,可以使用骨架屏技术来优化页面加载速度。骨架屏是一种加载占位图,可以在页面加载过程中展示,让用户感受到页面正在加载,避免出现长时间白屏的情况。 3. 图片优化:在Vue3项目中,图片是一个不可避免的元素。可以采用图片懒加载、按需加载等技术来优化图片加载速度,减少页面加载时间。 4. 组件懒加载:在Vue3项目中,可以将一些组件进行懒加载,只有在需要使用的时候再进行加载。这样可以减少首屏加载时间,提高页面加载速度。 5. CDN加速:使用CDN(内容分发网络)可以将静态资源存储在离用户更近的服务器上,加速页面加载速度,降低服务器的压力。 6. SSR(服务器端渲染)优化:在Vue3项目中,可以采用SSR技术来优化SEO和首屏加载速度。SSR可以将页面的渲染工作放在服务器端进行,减少客户端渲染的时间,加快页面显示速度。 总之,以上这些优化措施可以在Vue3项目中起到明显的优化效果,提高页面加载速度,让用户能够更快地浏览网页,提高用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值