美文网首页
Cannot use 'in' operator to sear

Cannot use 'in' operator to sear

作者: 200Ok | 来源:发表于2021-01-20 12:35 被阅读0次

    问题现场

    image.png

    具体报错:

    Uncaught TypeError: Cannot use 'in' operator to search for 'showEdit' in true

    原因分析:

    其实是比较低级的一个错误,方法传参错误。

    项目使用框架是vue,定位到具体报错代码是这个位置,在click事件绑定的方法中,我只传递了一个参数。

      <div @click="changeShowStatus(true)">{{row.content}}</div>
    

    changeShowStatus方法如下, 功能是给row的对象的showEdit设置一个值,但是只传递了一个参数true, 漏写了需要传递的第一个参数。
    当我用$set试图给rowshowEdit属性设置值时,函数内部会使用in操作符检查showEdit是否存在对象的属性中,但因为我传参错误,这里row其实是我传入的ture,并不是json对象:

        changeShowStatus(row, isShow) {
          this.$set(row, 'showEdit', isShow);
        }
    

    同类型错误

      var obj  = 'object';
      if ('a' in obj){
        .....
      }
    

    这个类型错误大致原因就是,in操作后跟的数据类型并不是一个json对象。当对非json对象使用in操作符时,会出现这个错误。

    相关文章

      网友评论

          本文标题:Cannot use 'in' operator to sear

          本文链接:https://www.haomeiwen.com/subject/vsckzktx.html