记项目中易出现的bug点

摘要:
观察:{id:function{if{this.getDetail()}},2。表单必须具有清除操作。3.trycatch无法捕获异步方法中的错误。4.复杂对象在两个方向上都有约束。在传递参数之前,JSON。需要parse来防止参数对象中的数据随页面变化。

1. 弹框组件,初始化数据的方法写在created 中

 bug 点:created 钩子函数只在页面第一次加载时执行,第二次加载则不会执行,初始化数据无法更新。

 示例:页面不刷新的情况下,弹框组件第二次打开时,detail 是不会变化的

 created () {
    this.getDetail()
  },
  methods: {
    getDetail () {
      this.$http('post', `/api/${this.id}`)
        .then((res) => {
          if (res.statusCode === 200) {
            let result = res.data
            this.alarmDescription = Object.assign(this.alarmDescription, result.alarmDescription)
            this.alarmContentType = result.alarmContentType
          }
        })
        .catch((e) => {
          console.log(e)
        })
    }, 

解决办法: watch 一下id 的变化,同时要在关闭弹框的回调事件中改变一下id, 这样避免连续打开同一条记录(id不变)时,也刷新数据。

  watch: {
    id: function (val) {
      if (this.id) {
        this.getDetail()
      }
    }
  },  

2. form 表单,要有清空操作

3. try catch 无法抓取异步方法中的错误

4. 双向绑定复杂对象,当参数传递前要 JSON.parse(JSON.stringify(this.searchForm)),避免参数对象中的数据随页面发生变化。

5.使用JSON.parse(JSON.stringify(Obj))时,注意返回为空对象的情况,具体参考:

 https://www.jianshu.com/p/b084dfaad501

 6.  var s= arr.push('t')  ,注意s 并不是新数组,返回的新数组的长度,所以以下写法是错误的,应该提到外面。

记项目中易出现的bug点第1张记项目中易出现的bug点第2张

 

免责声明:文章转载自《记项目中易出现的bug点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ASP.NET Web API(一):使用初探,GET和POST数据S4 到 PO/PI proxy 配置手册下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Java生鲜电商平台-优惠券系统设计详解

Java Fresh Food电子商务平台-优惠券系统的设计详细说明了优惠券的名称、面额、类型、有效期、使用范围、相互排斥以及作为电子商务最常用的营销手段的平台。用户在收到优惠券之前不知道优惠券的面值和使用限额,但只有在收到之后才知道优惠券的面额和使用限额。用户可在收到优惠券后3天内使用;商户A发放的优惠券只能在购买商户A的商品时使用,一台设备只能使用一张新...

MySQL高可用集群方案

资源不足的小团队或小项目直接建议阿里云和腾讯云II。一些常见解决方案介绍1。MySQL主从架构2。MHA架构参考:生产环境MySQL数据库集群MHA在线实现解决方案MHA目前是MySQL高可用性中比较成熟的解决方案。...

国产操作系统——银河麒麟V10 SP1使用小结

几天前,我看了国内操作系统Galaxy Kirin有了新更新的新闻,于是我开始了一个新系统=============================================个人评价:这个系统是一个国产操作系统。尽管使用了大量的Ubuntu和Windows设计,使用了Linux内核,但这是国产操作系统从无到有的开始,其意义和价值远远大于其使用价值。总之...

docker.service启动失败:Unit not found的原因及解决办法

解决方案是删除/usr/lib/systemd/system/docker.service的[UNIT]中包含的dockersocket,然后重新加载systemctldaemon,最后是systemctlstartdocker.service。启动成功。在类似的情况下,docker.socket缺失,但新版本需要docker.seocket。这是因为Fla...

JS前端数据多条件筛选(商品搜索)

有时候也会需要在前端进行数据筛选,增强交互体验。当数据可用的筛选条件较多时,把逻辑写死会给后期维护带来很大麻烦。进行商品按条件筛选主要是利用Arrary.prototype.filter对数组元素进行遍历检查,返回一个符合检查条件的新数组,不会改变原数组。为了能自动适配不同的筛选条件,将筛选条件分为两个大类,一个是区间类型rangesFilter,如:品牌、...

Python生成pyd文件

Python的脚本文件是开源的,量化策略的安全性没有保障。那么要对Python代码进行混淆、加密保护。Python有py、pyc、pyw、pyo、pyd等文件格式。vcvarsall.bat是VC编译Python环境的文件之一。方案1:修改Python安装目录的文件设置方案2:修改注册表我采用方案1,亲测可用。测试结果,用py2exe可以正常使用pyd文件。...