本篇文章主要来教大家实现一个美食项目的首页,文中附含部分功能实现的示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助
介绍:美食杰首页
这个是轮播图效果:利用了element ui框架搭建的html、css样式,然后再通过vue指令和data存储数据和methods方法在操作data里面的数据来完成数据交互继而渲染到页面上就如下图。

这个是内容精选页效果:也是利用了element ui框架搭建的html、css样式

过程:
引用了element ui框架搭建的轮播图框架,利用数据交互完成效果。

先安装element ui,再main.js里面引入element ui

1
2
3
import elementUi from ‘element-ui’
import ‘element-ui/lib/theme-chalk/index.css’
Vue.use(elementUi)
这是html结构

  1. <script>
  2. import MenuCard from '@/components/menu-card.vue' //引入的组件1
  3. import Waterfall from '@/components/waterfall.vue'//引入的组件2
  4. import {getBanner,getMenus} from '@/service/api.js'//引入的封装好的api方法
  5. // 引入 注册 使用
  6. export default {
  7. name: 'home',
  8. components: {
  9. MenuCard: MenuCard,
  10. Waterfall
  11. },
  12. data(){
  13. return {
  14. banners:[],
  15. menuList:[],
  16. page:1,
  17. pages:5
  18. }
  19. },
  20. mounted(){
  21. getBanner().then(({data})=>{
  22. this.banners=data.list;
  23. // console.log(this.banners)
  24. }),
  25. // 1.
  26. getMenus({page:this.page}).then(({data})=>{
  27. console.log(data)
  28. // this.menuList=data.list;当传了页码就不能这么赋值了
  29. this.menuList=data.list;//存了第一页的数据
  30. // this.pages=Math.ceil(data.total/data.page_size)
  31. })
  32. },
  33. methods:{
  34. loadingMenuHanle(){
  35. console.log('在外部监听的滚动')
  36. this.page++;
  37. // 2.
  38. if(this.page > this.pages){
  39. this.$refs.waterfall.isloading=false;
  40. return;
  41. }
  42. this.$refs.waterfall.isloading=true;
  43. getMenus({page:this.page}).then(({data})=>{
  44. this.menuList.push(...data.list);//在第一次数据加载完成后再继续添加(push)渲染五条数据
  45. this.$refs.waterfall.isloading=false;
  46. })
  47. }
  48. }
  49. }
  50. </script>

注意事项:
在引入是一定要注意引入css的路径,就从element-ui开始找看看没一个嵌套关系的文件夹名是不是一直,另外在最新版本的element-ui中theme-default就应该被改为theme-chal,特别需要注意的是默认的轮播是垂直的,如果想改为水平,那么需要将direction: ‘horizontal’。

总结:
轮播图原理:对源数据作下处理,将末尾数据复制一份,插入到最前面。将原来第一条数据复制到最后面,后面的图片在滑到前面图片的时候,重置下标,视图上就无限滚动了

更多相关文章

  1. Android(安卓)应用程序之间数据共享—ContentProvider
  2. Android(安卓)Adapter使用总结
  3. 关于Android短信管理
  4. android 媒体数据库刷新
  5. android 数据库技术 | 文件系统,SDCARD访问,CONTENT PROVIDER,SQLIT
  6. Android存储-SharedPreferences存储数据(一)
  7. Android之JSON格式数据解析
  8. Android(安卓)应用程序之间数据共享—ContentProvider
  9. Android常见的存储方式

随机推荐

  1. 学习01:Android 4.0_你必须知道的13点
  2. Android之输入银行卡号判断属于哪个银行
  3. Android app项目和开发总结
  4. 简单实现跑马灯
  5. Android 中文 API (16) —— AnalogClock
  6. RelativeLayout 相对布局属性
  7. android实现密码框右侧显示小眼睛
  8. 【整理】Android中EditText中的InputType
  9. GitHub 优秀的 Android 开源项目
  10. [置顶] Android屏幕适配全攻略(最权威的