我正在做一个即时通信的小程序,我的自定义组件需要监听我保存在globalData中存在的数组的变化,可是尝试过很多办法都无法监听,甚至死循环。希望各位大佬能够出一下主意。帮小弟解决一下难题
wx.onSocketMessage(function(res) {
console.log("传入的原数据:");
console.log(res);
var jsonStr = JSON.parse(res.data)
jsonStr["youSend"] = false
if (jsonStr.messageType != 1 && jsonStr.messageType != 2 && jsonStr.messageType != 3) {
innerAudioContext.play()
var message = {
fromusername: null,
list: []
}
let messageList = that.globalData.MessageList
var indexof = -1
for (var i = 0; i < messageList.length; i++) {
var a = messageList[i]
if (a.hasOwnProperty("fromusername")) {
if(a.fromusername == jsonStr.fromusername) {
indexof = i
}
}
}
if (indexof == -1) {
message.fromusername = jsonStr.fromusername
message.list.push(jsonStr)
that.globalData.MessageList.push(message)
} else {
that.globalData.MessageList[indexof].list.push(jsonStr)
}
}
})
以上代码是我保存聊天记录的方式
示例代码:https://developers.weixin.qq.com/s/wtjPXNmf78eH