参考: https://blog.csdn.net/u012377333/article/details/52326158

1、前端中所有的按钮,点击后发送报文的标签,都必须加上 去重功能。防止重复发送信息(有的信息重复发送是有很大问题的,比如金融中的借钱,发送1次,发送多次,金额是会累加的。客户明明是借了1次,但是账户上显示金额很多,肯定会引发纠纷)。

2、H5页面,对于需要前面页面的提供的参数 或 用户输入数据 的页面。一定要考虑  跳转页面后,回退页面的数据必须要保持不变。
   跳转前将相应的数据保存到 缓存里( vuex 或 localStorage ) 。跳回来时使用相同的参数 再次进入页面。
 
   体会:页面中有一些数据是通过请求后获取到的,获取到的数据不用缓存。把获取接口 关键的参数 ( 前一页面提供的参数 或 用户输入数据 )  缓存起来就可以了。进入时重新请求获取这些数据 ;
      尽量避免 localStorage 和 sessionStorage 使用的字段太多,比较容易乱。字段多了,在其他的页面根本不知道某个字段到底有没有设置,逻辑会比较乱,不好管理。
 
3、H5页面缓存的选择(localStorage 、sessionStorage、cookie、vuex):具体使用哪个根据 变量的具体需求  来定。
  注意点:选择哪种缓存必须要考虑以下几点
    a、关闭网页,再次进入页面,缓存的数据是否要保持:(localStorage是永久保存的)
       有些数据在页面关闭时必须清除,不然会影响下次进入页面的结果。比如,调接口把openId(用户id)缓存下来,下次进入时,调这个获取openId失败了,可是这个值在缓存还有,页面还能正常进入。
        localStorage 的生命周期是 永久的,js不去清除,永远存在。(如果关闭网页要清除的数据,千万不要使用localStorage,确保再次进入该页面时,这些数据是空的)
       b、刷新页面后,缓存的数据是否还需要存在。(vuex数据,刷新后,缓存没有了)
    c、首次进入 首页 不能有缓存,回退到首页时需要这个缓存。这种情况不能使用localStorage ,因为localStorage 无法在关闭页面时清除数据。
      比如,一些微信的code参数是有时效性的,首页进入通过code参数获取到用户信息后,缓存起来,页面回退到首页就不再使用code去获取用户信息了,去缓存中获取。
      如果使用localStorage,回退到首页,先删除缓存,调用接口已经无效,无法获取缓存的数据,页面就不正常了。
      总结起来:就是首页缓存的数据不要使用localStorage,除非需要像博客那样把登入信息永久保存的,不过这种保存一般是使用cookie来实现的。

4、首屏 loading图,提升用户体验

5、优化SPA应用的首屏加载速度慢

  a、将公用的JS库(或css库)通过script(或link)标签外部引入,减小 app.bundel 的大小,让浏览器并行下载资源文件,提高下载速度;

  b、页面和组件使用 懒加载 的方式引入

6、某个页面是通过链接进去的还是通过回退按钮进入的(填表单的页面,点击按钮调到其他的页面时,再回退,之前填的数据是需要缓存的。而通过链接进入【正常步骤】的页面是没有缓存数据的)

H5项目(基于vue框架)常见问题及注意事项的更多相关文章

  1. 基于VUE框架 与 其他框架间的基本对比

    基于VUE框架的基本描述 与 其他框架间的基本对比 2018-11-03  11:01:14 A B React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供 ...

  2. 基于vue框架项目开发过程中遇到的问题总结(三)

    这次遇到的一个问题困扰了我很久很久,大致就是vue路由的addRoutes方法的使用,每次在调用了这个之后router对象中并没有将路由添加进去,接下来,我一步一步的分析原因及解决方法(个人见解,仅供 ...

  3. 基于vue框架项目开发过程中遇到的问题总结(一)

    (一)关于computed修改data里变量的值 问题:computed里是不能直接修改data里变量的值,否则在git commit 时会报错 解决:在computed里使用get和set来进行获取 ...

  4. 基于vue框架项目开发过程中遇到的问题总结(二)

    1.mouseup事件丢失 查看了网上资料,造成mouseup事件丢失有两种原因: (1)触发了浏览器的drag事件 (2)由于鼠标离开了操作的区域,触发了mouseleave事件导致mouseup丢 ...

  5. Win10环境前后端分离项目基于Vue.js+Django+Python3实现微信(wechat)扫码支付流程(2021年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_182 之前的一篇文章:mpvue1.0+python3.7+Django2.0.4实现微信小程序的支付功能,主要介绍了微信小程序内 ...

  6. 基于vue框架手写一个notify插件,实现通知功能

    简单编写一个vue插件,当点击时触发notify插件,dom中出现相应内容并且在相应时间之后清除,我们可以在根组件中设定通知内容和延迟消失时间. 1. 基础知识 我们首先初始化一个vue项目,删除不需 ...

  7. yarn 常用命令(基于vue框架)

    初始化项目 yarn add init 安装vue yarn add vue 安装webpack,webpack-dev-server(是一个小型的Node.js Express服务器) yarn a ...

  8. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

    概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...

  9. 基于vue模块化开发后台系统——构建项目

    文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 在熟悉上一篇说到准备工具之后, ...

随机推荐

  1. atexit函数学习

    函数名: atexit 头文件:#include<stdlib.h> 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: void atexit(void (*func)( ...

  2. BZOJ 3531: [Sdoi2014]旅行(树链剖分+线段树)

    传送门 解题思路 以每个颜色为根开一棵权值线段树,下标就是\(dfs\)序,其余都是基本操作,要动态开点. 代码 #include<iostream> #include<cstdio ...

  3. JAVA 的StringBuffer类

    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  4. 《ArcGIS Runtime SDK for .NET开发笔记》 --Hello Word

    这里我们将创建第一个用于显示地图的APP. 1.新建一个WPF程序 首先我们打开Visual Studio,选择新建项目. 选择已安装——模板——Windows桌面——WPF应用程序  2.添加Run ...

  5. ceph-报错日志

    由于时钟不一致问题,导致ceph存储有问题 clock skew时钟偏移overalladj. 全部的:全体的:一切在内的stampedadj. 铭刻的:盖上邮戳的:顿足的 beaconvt. 照亮, ...

  6. python学习笔记:python简介和入门

    编程语言各有千秋.C语言适合开发那些追求运行速度.充分发挥硬件性能的程序.而Python是用来编写应用程序的高级编程语言. Python就为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数 ...

  7. raid 10

    首先先创建五个新的硬盘,步骤参照  raid 5 建好硬盘以后开启虚拟机 打开终端,更改好主机名以后,重新打开终端 输入命令:fdisk  -l 查看有没有加入进来  我们发现已经加入进来 然后开始分 ...

  8. mysql中tinyint(1)与tinyint(2)的区别

    tinyint 型的字段如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数.tinyint 型的字段如果不设置UNSIGNED类型,存储-128到127的整数. 1个tiny ...

  9. 微信小程序 获取用户信息并保存登录状态

    微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml

  10. 迭代器,生成器,yield,yield from理解

    迭代器 说到迭代器就得想说可迭代对象Iterable,实现了__iter__()方法的对象都是可迭代对象,例如很多容器,list ,set, tuples.使用iter方法可以把一个可迭代对象变成迭代 ...