去旅行App 练习记录

一、首页Header的开发

1.stylus使用

  • 设计图 750 px ,是iphone6 的2倍图设计稿
  • 使用 stylus 方便我们快速的编写 CSS 代码,stylus 是一种CSS预处理语言
  • npm install stylus --save
  • npm install stylus-loader --save (stylus-loader 可以将 stylus 语言转换成原生 css)
  • 新建Header.vue 设置

    export default {name: ‘Home‘)
  • 在Home.vue中引入
  • import HomeHeader from ‘./components/Header‘

    并且声明该局部组件

  • component: {HomeHeader}

    关于样式:使用stylus语言,只对当前组件有效

  • <style lang="stylus" scpoed>

    iconfont 引入图标

  • 通过webpack对文件路径进行简化,进入build=>webpack.base.conf.js,缩写路径: reslove.alias 内添加 ‘styles‘: resolve(‘src/assets/styles‘),

遇到的问题:

下次运行项目会遇到 stylus报错的问题。

原因,package.json 缺失依赖,不能解析stylus

解决方法:执行 npm install stylus-loader css-loader style-loader --save

二、首页轮播图

1.创建分支,在分支开发完毕会合并到master主分支上

  • git pull (把线上分支拉到本地)
  • git checkout index-swiper (修改本地的分支为新建的那个分支)
  • git status (查看本地的分支)

2.轮播图插件插件 vue-awesome-swiper

  • npm install vue-awesome-swiper --save (默认最新版)
  • npm install [email protected] --save (安装稳定的版本)
  • 在main.js中引入
  • import Vue from ‘vue‘
    import VueAwesomeSwiper from ‘vue-awesome-swiper‘
    
    // require styles
    import ‘swiper/dist/css/swiper.css‘
    
    Vue.use(VueAwesomeSwiper, /* { default global options } */)

三、图标区域页面布局

  写样式,此阶段没什么难点

四、图标区域逻辑实现

1. 图标分类轮播效果

  • 打开 swiper.vue
  • 给要滚动的组件包裹 <swiper :options="swiperOption"> 与 <swiper-slide> 标签,一个<swiper-slide>为一页
  • 实现上下区域都能滑动,需要将.swiper-container 的宽高设定为和 .icons一样,使用样式穿透符 "<<<" ,可以修改不属于本页组件的样式
  • 关闭自动滚动参数 :swiperOption: {autoplay: false},

2.合并线上分支

//同步线上仓库分支
git add .
git commit -m ‘add icons‘
git push

//切换到master分支
git checkout master
//合并
git merge origin/index-icons
git push

五、推荐区域

写样式,此阶段没什么难点

六、Ajax 获取首页数据

推荐 vue-axios

整个首页发送一个Ajax 请求

  • 引入:import axios from ‘axios‘
  • methods: {
              getHomeInfo: function() {
                axios.get(‘/api/index.json‘)
                  .then(this.getHomeInfoSucc)
              },
              getHomeInfoSucc: function() {
                console.log(res)
              }
            },
    mounted () {
              this.getHomeInfo()
            }
  • 整个项目中 只有static 目录下的内容可以被外部访问到
  • 进入 config/index.js  添加 proxyTable 进行api替换,可以做到线上本地api 自动切换

    proxyTable: {
          ‘/api‘: {
            target: ‘http://localhost:8080‘,
            pathRewrite: {
              ‘^/api‘:‘/static/mock‘
            }
          }

七、城市选择页面路由配置

better-scroll 使用

<div class="wrapper">
  <ul class="content">
    <li>...</li>
    <li>...</li>
    ...
  </ul>
  <!-- you can put some other DOMs here, it won‘t affect the scrolling -->
</div>
//初始化
mounted () {
      this.scroll = new Bscroll(this.$refs.warpper)
}

遇到的问题,加载后无法滚动 ,刷新后可滚动

情况一:

原因:当数据是动态渲染时,在没有渲染出来的情况会视为scollBox的高度为0,因此要在渲染完成后执行 better-scroll的refresh 操作。因为此时高度因为新数据发生改变,需要重置 better-scroll

//mounted函数
  this.$nextTick(()=>{
                  if (!this.scroll) {
                    this.scroll = new BScroll(this.$refs.rongqi, {
                      click: true
                    });
                  } else {
                    this.scroll.refresh();
                  };
            });

情况二:

以PC模式打开页面,按F12后切换移动端无法滚动。

解决方法:切换移动端后,按F5 以移动端模式重新加载即可。

八、兄弟组件间联动

子传父,父传弟的形式

九、使用Vuex实现数据共享

遇到的问题:模块莫名其妙的丢失

目前解决办法是 手动删除 node_modules文件夹,之后进行 npm install 重新安装

VUEX的使用

十、城市保存

localStorge本地存储

state: {city: localStorage.city || ‘上海‘},
mutations: {
    localStorage.city = city
}

使用keep-alive 优化网页性能

遇到的问题:

每次切换路由时,Ajax 都会发送请求

解决方法: 在App.vue 文件的 <router-view>标签外包裹一层 <keep-alive> ,下次请求时会将已存储的内容从内存中取出即可,实质是不再执行mounted 周期函数

十一、详情页动态路由及 banner 布局

十二、公共图片画廊组件拆分

遇到的问题,

页面拖动会互相影响 解决滚动行为

https://router.vuejs.org/zh/guide/advanced/scroll-behavior.html

在router/index.js 文件中 routes下面添加

scrollBehavior (to, from, savedPosition) {
  return { x: 0, y: 0 }
}

作用:每一次做页面切换时,让先进入的页面X轴为0 Y轴也为0,(始终回到最顶部)

十三、真机测试

  1. 通过 ipconfig 命令获取本地IP (我的是 192.168.1.105:8080)
  2. 进入 package.json 在 "dev" 内添加 "--host 0.0.0.0" 即可使用手机在内网访问

解决手机低版本浏览器白屏不支持 promise 的问题

  • npm install babel-polyfill --save
  • 在 main.js 中引入 "import ‘babel-polyfill"

十四、打包上线

前后端联调:

修改 config/index.js 下的 proxyTable

proxyTable: {
      ‘/api‘: {
        target: ‘http://localhost:8080‘, //前端模拟数据形式
        pathRewrite: {
          ‘^/api‘:‘/static/mock‘
        }
      }
    },

修改为:

proxyTable: {
      ‘/api‘: {
        target: ‘http://localhost:80‘ //后端从80端口返回数据
      }
    },

遇到的问题:

Vue 打包后运行 index.html 网页一片空白

解决方法:修改 config 文件夹下的index.js

设置assetsPublicPath: ‘./‘

原文地址:https://www.cnblogs.com/anqwjoe/p/9069913.html

时间: 2024-10-11 22:57:03

去旅行App 练习记录的相关文章

旅行app(游记、攻略、私人定制) | 顺便游旅行H5移动端实例

<顺便游旅行>是一款H5移动端旅行app,提供目的地(国内.国外.周边)搜索.旅游攻略查询.游记分享.私人定制4大模块,类似携程.同程.去哪儿.马蜂窝移动端,只不过顺便游app界面更为简洁. HTML5+css3+jQ+rem响应式+xwpop,其中xwpop是自己开发的一个移动端弹窗(9大自定义接口功能),app界面精美.代码优雅.               原文地址:https://www.cnblogs.com/xiaoyan2017/p/8608994.html

星牛旅行APP系统开发

星牛旅行APP系统开发[韩先生131-4896-5759可微电]星牛旅行模式系统开发.星牛旅行软件开发系统.星牛旅行平台系统开发 星牛旅行总裁张世魁表示,星牛旅行在吃.住.行.游.购.娱六大领域360度全覆盖的产业链,将让消费者更省心,也让旅行更有温度.服务内容包含酒店预订.基票预订.景区预订.租车预订.社交 分享.资源共享6大旅游核心功能,提供北美游学.包车自驾等十几种项目,并根据观光旅游.蜜月婚礼.公务考察等多种场景,提供智能化.数字化的服务.与考拉签证.漫游超人等各领域平台提供的 海量资源

戴着谷歌眼镜去旅行:有点糟心

摘要:WSJ旅游编辑戴着谷歌眼镜去旅行,看看它是否有潜质成为旅行必备工具. 谷歌眼镜是什么?它是一款可穿戴设备.一个新潮的小工具.一个"Hands Free"的生活助手,但也可能是一种威胁.或是毁掉气氛的"心情杀手".一切取决于你的使用形态. 即便是眼镜的价格仍然高昂,但我们看到了谷歌在消费领域的努力:与DVF合作推出太阳镜款式.推出Foursquare.TripIt和OpenTable等位置服务应用,现在你可以戴着太阳镜.并使用应用程序来搜索餐馆.预定航班甚至是使

身边的同事辞职去旅行

2014-06-12 iOS开发 上周同事辞职去西藏,我表示为之震惊啊!眼看着就下飞机了 iSwifting社区 身边的同事辞职去旅行,布布扣,bubuko.com

nWV梦幻之旅t女孩,为什么再穷也要去旅行?

女孩,如果有机会,一生一定要多去旅行,一个人经历一场彻底的旅行,一路上自由自在,可以漫无目的的游荡,可以不顾形象的碎碎念,不求遇见谁,也不求遇上什么美好的风景. 但这一路上所接触过的一切,足以让你用另一种眼光重新审视自己.让你获得重生,让你知道接下来的路怎么走.女人,可以没有男人,但一定要有闺蜜:可以没有lv,但一定要有long vacation ! 但最完美的是:带着lv,和闺蜜一起,带上各自的男人,去享受一次美美的long vacation!我现在没钱,等有钱了再去.我现在没时间,等有时间了

携程旅行app|携程旅行app下载

中国旅游市场近年保持持续发展的态势,国民旅游消费需求旺盛.来自中国社科院的研究显示,2015年我国国内旅游和出境旅游人次分别达40亿和1.2亿,国内旅游收入达3.6万亿.其中,旅游产业线上***率为11.5%,2015年中国在线旅游市场交易规模已达4737.7亿元.在中国在线旅游市场持续成长的背景下,预计未来OTA在整体旅游产业所占交易规模比重将进一步扩大.携程旅行app下载链接软件介绍携程旅行一款在线旅行服务软件.该软件的口号是携程在手说走就走.该软件可以提供提供酒店.机票.火车票.汽车票.景

iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码

iOS精选源码 企业级开源项目,模仿艺龙旅行App 标签选择器--LeeTagView CSSegmentedControl常用的分段选择器,简单易用! 仿微信左滑删除 IOS左滑返回 输入框 iOS 基于PhotoKit框架的自定义相册 JHDraw - 画线,画虚线,画五角星,画矩形,画虚线矩形 标度尺 对对碰小游戏 iOS优质博客 iOS无痕埋点方案分享探究 前言当前互联网行业的竞争已经是非常激烈了, "功能驱动"的时代已经过去了, 现在更加注重软件的细节, 以及用户的体验问题.

花生棒2代:穿透内网 让NAS一起去旅行

---恢复内容开始--- 在公网环境下,要实现用域名进行远程访问管家婆管理软件.服务器或门店视频监控等,可用动态域名解析软件.但如今IPV4资源枯竭下,长城宽带等宽带运营商更多的给用户分配了内网IP地址.内网怎么支持呢? 家里的网络就属于内网IP,之前在家里玩过twonky推送,偶然知晓花生棒.据说花生棒可以穿透内网,搞定内网DDNS动态域名解析,让我得以在远程也能推送.于是,在秒杀活动98元果断下手买了一个.正好手上还有一台QNAP NAS,搭配花生棒使用就能将在旅行时候拍的照片,远程让它出现

教你怎么去一个APP的JSON数据,你懂的

今天闲着没事,谁让我今天是光棍节呢,算给大家一个福利,没事逛着应用市场,想找个应用高仿下,突然发现一个应用居然跟我一个名字尼玛,尼玛应用界面做的很简单,我觉得应该不难. 惯性操作想去破解APK,找专门放URL的类,结果呢.......找了十分钟没找到,尼玛碰到硬渣子,难得碰到保护的这么好的应用. 如果大家没有合适额逆向破解apk 的工具可以去看看我写的一篇帖子,里面介绍了许多实用的安卓小工具 作为安卓开发者必备的小软件(全是干货) 接着我想这,老师给过我一个抓包工具,结果呢 第一次尝试,现在还没