参考: 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. 获取FileSystem

    /** * 根据配置文件获取HDFS操作对象 * 有两种方法: * 1.使用conf直接从本地获取配置文件创建HDFS对象 * 2.多用于本地没有hadoop系统,但是可以远程访问.使用给定的URI和 ...

  2. Database基础(一):构建MySQL服务器、 数据库基本管理 、MySQL 数据类型、表结构的调整

    一.构建MySQL服务器 目标: 本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...

  3. spfa(模板)

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; int cnt ...

  4. SpringMVC·form表单Date类型问题导致的400问题

    问题描述 前端传yyyy-MM-dd hh:mm:ss格式的时间其实是String类型导致JavaBean中的Date类型Setter报错,从而导致api请求400. 问题解决 我的解决方式: 在对应 ...

  5. windows环境下安装pymysql(操作带图)

    在windows环境下安装pymysql,首先要找到python的安装位置,如果在c盘,启动cmd的时候,要获取管理员权限. 具体步骤,一,管理员模式启动cmd.在箭头指定位置,搜索cmd,出现快捷方 ...

  6. 栈Stack --- 数组实现

    栈最大的一个特点就是先进后出(FILO—First-In/Last-Out). /** * 栈:后进先出 * Created by fred on 2018/7/31. */ public class ...

  7. table td 溢出隐藏

    需要给table加一个属性:table-layout:fixed;

  8. 201⑨湘潭邀请赛 Chika and Friendly Pairs(HDU6534)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6534 题意: 给你一个数组,对于第i个数来说,如果存在一个位置j,使得j>i并且a[j]-k&l ...

  9. PAT_A1089#Insert or Merge

    Source: PAT A1089 Insert or Merge (25 分) Description: According to Wikipedia: Insertion sort iterate ...

  10. 前端学习笔记——引入css文件、样式优先级

    CSS样式的引用方式有三种:行间样式表>内部样式表>外部样式表. 如果只有一种样式,那么优先级“由内到外 由近到远” 1.行间样式表--内联方式 内联方式指的是直接在 HTML 标签中的  ...