javascript - Google Drive Realtime API - 添加协作 map

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

我的计划是创建一个协作 map 数据模型,其中包含协作列表,其中包含自定义对象。但是,我很难理解 google api 文档。目标是尝试创建一个事件管理工具,类似于此处演示的工具 http://commondatastorage.googleapis.com/io-2013/presentations/708%20-%20Realtime%20API%20IO%202013.pdf

  function initializeModel(model) {
     var map = model.createMap();
      model.getRoot().set('map', map);
  }

  function onFileLoaded(doc) {
  var map = doc.getModel().getRoot().get('map');
  map(gapi.drive.realtime.EventType.VALUE_CHANGED, "some function which will update the project");

我认为这会创建 map ,但是,我不知道如何访问它以添加 map 不同分支的自定义列表,然后依次添加自定义对象。我对 Google Realtime API 非常陌生。很感谢任何形式的帮助。谢谢,

最佳答案

要创建协作 map ,请使用Model.createMap()。您在initializeModel函数中这样做是正确的:

var map = model.createMap();

要将项目添加到协作 map ,请使用CollaborativeMap.set。当您将创建的 map 添加到根 map 时,您也在initializeMap函数中执行以下操作:

model.getRoot().set('map', map);

请注意,所有模型都以称为根的协作图开始,您可以使用 Model.getRoot() 访问该图。因此,在您的initializeModel函数之后,您的文档模型看起来像

{map: {}}

您已经成功创建了一个协作 map ,您可以向其中添加协作列表。在 onFileLoaded 函数中,您可以使用以下行获取对该 map 的引用:

var map = doc.getModel().getRoot().get('map');

要将列表添加到 map ,您需要创建一个列表:

var list = doc.getModel().createList();

然后将列表添加到 map :

map.set('mylist', list);

现在您的文档模型如下所示:

{map: {mylist: []}}

我不确定你最后一行的意图是什么。 var map 是一个对象,不可调用。通常,您在添加事件处理程序时会引用事件类型。例如,如果您希望在 map 上的值更改时运行一个函数,您可以这样做:

map.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,
    function(e) {
        console.log('key ' + e.property + ' changed from value ' + e.oldValue + ' to value ' + e.newValue);
    });

关于javascript - Google Drive Realtime API - 添加协作 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736122/

相关文章:

javascript - 使用 vanilla javascript 将 HTML 表导出为 CSV

javascript - 选择具有数据名称的所有标签 - 获取值 - 设置类

javascript - Drive Realtime API XHR 错误处理程序崩溃

python - 在驱动器的特定文件夹中创建谷歌电子表格|谷歌驱动器 API

javascript - 为什么此按钮不触发 anchor 标记?

angular - Map 和 Filter 适用于两个数组元素,但在看似相同的第三个元素上失败

google-api - Google Drive API "watch"一个文件夹,如何知道添加了什么文件

google-api - Dart Googleapis 0.35.0-Google Drive API v3-字段请求参数

google-drive-api - 没有 Oauth 的 Google Drive API 和接收文件

javascript - Bootstrap JavaScript 动态添加事件不链接到模式窗口