我有一个协作图,以协作图为价值。当值地图上发生事件时,我想知道该事件属于哪个键(外部图)。任何人都可以提出实现此目标的干净方法吗?
CMap(key,cmapb(k,string)),ChangeEvent发生在cmapb字符串上,我想知道CMap的键。 k仅对于单个密钥是唯一的(因此,跟踪k并随后查找包含k的密钥不是一种选择)。
ValueChangedEvent CollaborativeMap
编辑:
在将记录(cmapb)添加到CMAP之前,我以这种方式附加了EventListener:
records.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED, updateJSON);
如果我可以在updateJSON上传递记录的ID,则可以进行迭代
通过CMAP查找哪个值具有该ID。虽然我不知道
如何传递ID以及ChangeEvent。
最佳答案
我不确定您要在此建模的确切范围。您实际上是在向这些地图添加任意元素吗?否则,您可能会考虑使用自定义对象,其中可能有一个用于键的字段和一个用于存储其他对象的其他字段。 (请参见https://developers.google.com/drive/realtime/build-model#lifecycle_of_a_custom_collaborative_data_object)
如果您确实只想访问该函数中的该值,则可以使用标准javascript(例如闭包或bind函数)来实现。
关于javascript - 在协作 map 中跟踪ChangeEvent源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17512364/