【问题标题】:Tracking ChangeEvent source in collaborative maps在协作地图中跟踪 ChangeEvent 源
【发布时间】:2013-07-07 13:00:14
【问题描述】:

我有一个协作地图,以协作地图为值。当值映射上发生事件时,我想知道该事件属于哪个键(外部映射)。任何人都可以提出一种干净的方法来实现这一目标?

CMap(key, cmapb(k,string)) , ChangeEvent 发生在 cmapb 字符串上,我想知道 CMap 的键。 k 仅对单个键是唯一的(因此不能选择跟踪 k 然后查找包含 k 的键)。

ValueChangedEventCollaborativeMap

编辑:

在将记录(cmapb)添加到 CMAP 之前,我以这种方式附加 EventListener:

records.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED, updateJSON); 

如果我可以在 updateJSON 上传递记录的 id,我就可以迭代 通过 CMAP 查找具有该 ID 的值。虽然我不知道 我如何传递 id 以及 ChangeEvent。

【问题讨论】:

    标签: javascript google-drive-api google-drive-realtime-api


    【解决方案1】:

    我不确定您究竟想在这里建模什么。您实际上是在向这些地图添加任意元素吗?否则,您可能会考虑使用自定义对象,其中您可以有一个字段用于键,而其他字段用于您正在存储的其他对象。 (见https://developers.google.com/drive/realtime/build-model#lifecycle_of_a_custom_collaborative_data_object

    如果您真的只是想在函数中访问该值,您可以使用标准 javascript 来实现,例如闭包或 bind 函数。

    【讨论】:

    • 刚才想着可以在k上加上Key的名字,然后从event.property中提取出来。我非常专注于获得不同的解决方案,但看不到这个简单的解决方案。无论如何,我会考虑你的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多