收藏
回答

引入网易云信后 v-for 不渲染 并且报错?

当页面引入网易云信的聊天室功能后 网易云信能正常将数据发送过来 web端一切正常 但是IOS和安卓会报错并且v-for不会渲染,但是能接收到网易云信的数据。

19:11:22.500  TypeError: JSON.stringify cannot serialize cyclic structures. __ERROR 

希望有大佬来帮我解决 急需 有偿解决问题


回答关注问题邀请回答
收藏

1 个回答

  • fankeke
    fankeke
    2020-11-25

    主要记录一下,给遇到类似问题的小伙伴一个参考。

    碰到过类似的问题,一般这种情况是发生在给data对象属性赋值时(直接赋值或调用setData都会触发JSON.stringify)。

    我碰到的问题是:将实例化后的聊天室赋值给data的_chatroomInstance:

    this.data._chatroomInstance = chatroomInstance

    报错:


    因为对data的属性赋值操作会触发JSON.stringify,chatroomInstance 实例里应该有对自身的引用才导致的报错。

    问题解决:将 chatroomInstance 实例换个位置如:this 上保存,而不是在 this.data的属性上保存。

    this._chatroomInstance = chatroomInstance;

    ------------------------------------------------------------------------------------------------------------------------------------

    尝试过引入WebReflection/circular-json: JSON does not handle circular references. Now it does (github.com)修改云信聊天室源码,结果发现云信聊天室源码已经做了处理(说明不是云信代码包内部调用JSON.stringify 产生的问题),而云信的微信小程序聊天室示例是正常的,则说明是我写的代码问题,分析自己代码,最终发现如上问题,使得问题得到解决。

    ------------------------------------------------------------------------------------------------------------------------------------

    2020-11-25
    有用
    回复
登录 后发表内容
问题标签