vue使用快一个多月了,从移动端到PC端,踩过的坑也不少。项目的开发是基于element ui 与 mint ui 组件库,下面总结下项目中的一些知识点:

一、网页数据请求

首次进入页面,需要请求数据渲染页面。将相应的异步请求方法写在created  这个钩子中,在渲染前会发起请求;mouted 是页面数据发生变化的时候出发这个钩子

二、页面的缓存问题

由于页面请求,所以每次进入页面都需要请求,用户体验不是很好,在页面跳转的便签外套取一层<keep-alive>

     <keep-alive><router-view></router-view></keep-alive>

这样就会实现页面的缓存,如果刷新浏览器,会实现再次发起请求。

三、页面数据的渲染

页面数据的渲染,用的最多的就是v-for  这个指令了,遍历后台返回的数据,渲染到页面中。在遍历中,需要用到 :class  (选择样式,对于不同的元素)  @mouseover  @mouseleave  (实现鼠标移入移出的效果),用data 中的数据控制v-show  的显示,后台返回的段落信息用<p v-html="" />。特别值得注意的是v-if  与v-show 的区别。

四、vue的路由

vue的路由中的参数,比如ID传过来的3,一般$router.query.name  获取的是number类型,页面再次刷新后,用$router.query.name再次获取的是字符串,需要做相应的转换。vue手机端的页面最好是自己写tabbar,避免返回时候的问题,每一个选项还是用单页面的比较好。

五、vue的监听

vue中的监听watch 功能,对于新闻页面以及而三级页面,这个在本页面点击后,路由的id改变,数据重新渲染是非常重要的。

六、vue中键盘绑定事件

PS: 不能写成document.onkeydown = this.XX()  , 这样会绑定不成功。

七、webpack 打包第三方插件分离

在开发环境中,npm install xx --save   相关的第三方插件还是以这种方式安装;

在生产环境中,因打包的需要,需要在入口文件,index.html  用便签引入相关的js  与css

然后在 webpack.base.conf.js  添加以下这行代码:

然后再进行打包,mint-ui  就不会被webpack  打包,而是通过外部去引用,提高了网页首次加载的速度。可以比对下dist文件夹中js的大小。

PS: 严格模式下需要加入window ,需要注意的是 在html 中引入相关js 的时候,先在控制台window 中打印下,找到相关的js,比如‘mint-ui’ 引入以后在window 下是MINT ,如果还是写成‘mint-ui’,就回报错  ‘mint-ui’ is not defined

八、防止css 污染全局

加上这个就可以了!

九、webpack打包,背景图片不显示的问题

解决方法: 需要在build文件夹下的utils.js 中,加下如下代码

vue开发总结(一)的更多相关文章

  1. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

  2. vue开发体验

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  3. vue开发环境搭建及热更新

    写这篇博客的目的是让广大的学者在初入Vue项目的时候少走些弯路,虽然现在有很多博客也有差不多的内容,但是博主在里面添加了一些学习时碰到的小问题.在阅读这篇博客之前,我先给大家推荐一篇文章<入门W ...

  4. 用Vue开发一个实时性时间转换功能,看这篇文章就够了

    前言 最近有一个说法,如果你看见某个网站的某个功能,你就大概能猜出背后的业务逻辑是怎么样的,以及你能动手开发一个一毛一样的功能,那么你的前端技能算是进阶中高级水平了.比如咱们今天要聊的这个话题:如何用 ...

  5. 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)

    我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...

  6. 使用vue开发项目需要注意的问题和可能踩到的坑

    最近,在公司给一些刚刚使用vue进行开发的同学做了一次分享, 其中包括一些vue开发中需要注意的点, 以及一些可能会踩到的坑.具体内容如下: 一.生命钩子使用需要注意的地方 1.beforeCreat ...

  7. vue开发项目详细教程(第一篇 搭建环境篇)

    最近做vue做项目碰到了不少坑,看了三天文档便开始上手做项目了,不是我牛b,是因为项目紧,我没有时间去深入学习,所以只能一边学一边做了. 我要做的项目是一个官方网站(包括管理后台),也因为是我第一次使 ...

  8. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

  9. 从零开始搭建vue开发环境及构建vue项目

    1.安装node.js 安装完成之后,打开dos(windows+R或者直接windows键打开,输入cmd,按回车键)窗口,输入命令node -v可以查看安装的 node.js版本 node.js自 ...

  10. vue开发记录--element-ui的form表单label和placeholder国际化遇到的小问题

    <el-form-item label="$t('permission.employeeName')"> <el-input v-model="form ...

随机推荐

  1. spring security 登录、权限管理配置

    登录流程 1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表)  2)用户发出请求  3)过滤器拦截(MySecurityFil ...

  2. 【BZOJ3611】大工程(虚树,DFS序,树形DP)

    题意:有一棵树,树有边权,有若干次询问,给出一些点,求: 1.这些点互相之间的距离之和 2.点对距离中的最大和最小值 n<=1000000 q<=50000并且保证所有k之和<=2* ...

  3. Python中%r与%s的区别

    %r是rper()方法处理的对象 %s是str()方法处理的对象 其实有些情况下,两者处理的结果是一样的,比如说处理数据类型为int型对象: 例如1: print ('I am %d year old ...

  4. Paul Graham:梦寐以求的编程语言

    我的朋友曾对一位著名的操作系统专家说他想要设计一种真正优秀的编程语言.那位专家回答,这是浪费时间,优秀的语言不一定会被市场接受,很可能无人使用,因为语言的流行不取决于它本身.至少,那位专家设计的语言就 ...

  5. centos tomcat 关于日志

    一.实时查看tomcat的日志 1.先切换到tomcat5/logs 2.tail -f catalina.out 3.这样运行时就可以实时查看运行日志了 例如: cd /tomcat7/logs t ...

  6. T1245 最小的N个和 codevs

    http://codevs.cn/problem/1245/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 有两个长度 ...

  7. Flink的安装配置

    一. Flink的下载 安装包下载地址:http://flink.apache.org/downloads.html  ,选择对应Hadoop的Flink版本下载 [admin@node21 soft ...

  8. android 获得电池状态

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  9. Docker 的CMD与ENTRYPOINT区别

    我们在构建一个docker镜像的时候,Dockerfile里面有两个命令会引起我们的注意,它们就是 CMD 和 ENTRYPOINT,看起来很相似,实际上并非如此. 一.CMD 顾名思义就是允许用户指 ...

  10. Mysql 性能优化20个原则(4)

    16. 垂直分割 “垂直分割”是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的.(以前,在银行做过项目,见过一张表有100多个字段,很恐怖) 示例一:在 ...