去哪儿 vue2018-11-24

2018-12-04  本文已影响0人  TTTXTTT

单页应用优势:页面切换快,页面跳转由js渲染。缺点:首屏时间稍慢,SEO差。是比较好的前端解决方案。

准备工作:

引入reset.css

引入border.css(解决一像素边框问题)

改变 border.css中border颜色,就在css中为border名的伪类添加样式进行覆盖即可

引入fastclick库,解决移动端点击事件延迟300毫秒事件

npm install fastclick --save-dev

使用:

fastClick.attach(document.body);

登陆iconfont,对项目图标进行管理。

图标管理--我的项目--创建项目--填写列表

将需要使用的图表添加至项目,下载之本地,保留字体文件以及css文件,将css文件路径设置正确,使用时,先引入css文件,全局在html的dom中创建一个类名为iconfont,将16进制代码在iconfont中复制到dom中即可

删除无用代码

初始化完成之后,将修改的项目上传到git仓库中去。

git add .  //将本地修改提交到本地缓存区

git commit -m '注释内容'    //将本地缓存区的代码提交到本地仓库,同时留下一条message为注释内容

git push   //将本地代码上传到线上仓库去

使用stylus:

npm install stylus --save

npm install stylus-loader --save

使用时在页面style标签声明lang="stylus"

计算网页中rem值

.在reset.css 中如果设置了关于body的字号(如body为50px),表示1rem=50px.,网页设计稿中的实际像素除以2为css应该设置的像素,再根据rem进行换算即可。

想要在网页中使用rem,就要为html设置一个字号字体图标样式无法显示

将公共样式抽离到公共文件中

注意

如果想在css文件中引入其他的css,要在路径前面加上~.如:

import '~@/assets/index.css';

每个阶段进行修改之后,记得上传代码

开发过程中每创建一个新的功能都要创建一个分支,在分支上进行项目开发。开发完成之后,将分支上面的代码合并到master主分支上面

码云创建分支

1个分支 -----  新建分支 -----  线上分支创建完成之后,拉取分支到本地:git pull ----  git checkout 分支名称(检查分支) ----- git status(查看分支的状态)

vue轮播插件

vue-awesome-swiper

将轮播图分支合并到master分支上面

企业工作流程是开发具有具体功能的分支,测试没有问题之后,再进行分支的合并,将分支合并到主分支上面即可。

先新建分支,新建好之后进行分支功能开发,开发好之后进行上传,最后合并分支

git add .

git commit -m'注释'

git push 会自动上传到分支上面

git checkout master   先切换到master分支上

git merge origin/swipper  将线上新增的分支合并到本地master分支上面

git push    将合并后的master分支内容也提交到线上

注:master分支上存放的是整个项目最新的代码,而新建的swipper分支上面存放的是开发的具体功能的最新代码

创建index-icons分支,来新增首页列表icon内容功能

创建分支index-icon之后

运行 git pull,将分支拉取到本地

运行git checkout index-icon 切换到该分支

之后开发index-icon的功能,最后重复以上步骤进行分支的合并。

图标多于九个时,启动轮播效果,可以左右侧滑

将swiper组件运用到图标之中

注意将.swiper-container的样式覆盖一下,使它与滑动区域同高

将数据提取出来之后会发现如果图标多于八个,会直接显示在下面被隐藏掉,不是预期的侧滑出现在另一侧,这需要借助computed计算属性实现功能

控制台打印结果如下:

一共有九条数据,一页展示8条数据,所以分成两页,下标为0-7的存放在第一页,下标为8的数据存放在第二页。

dom循环返回的pages数组,数据展示也从数组中获取。

ajax获取首页数据

创建index-ajax分支

获取页面数据很多方式可以使用:

浏览器自带fetch

ajax

vue-resource

axios :vue官方推荐可以实现跨平台数据请求(这里使用)

整个首页发一个ajax请求,再将数据传递给子组件。利用生命周期函数mounted函数。

步骤:1.下载并在在home组件引入axios

2.在生命周期函数mounted中执行函数

3.函数定义在methods中

4.函数中使用axios.get 请求一个地址,它返回的结果是一个promise对象,所以使用then。

5.在git ignore中忽略本地数据json文件,防止被提交到线上仓库

6.在config/index,js文件中修改proxy代理机制的配置,在proxyTable中

意思是说,/api这个路径的指向地址是localhost8080,pathRewrite代表路径重写,正则匹配所有以api开头的路径都要替换为static/mock(只是在开发环境中)

注意:1.本地模拟json文件时,要将文件放在static 文件下面才能够获取到。

2.模拟数据并不需要被提交到线上,所以在.gitignore中将文件忽略。就不会被提交到线上和本地git仓库中了

3.本地项目地址和实际接口地址不同,需要一个转发机制将项目地址转化为接口地址,就是proxy代理机制

上一篇 下一篇

猜你喜欢

热点阅读