1

コラボレーション マップを値として持つコラボレーション マップがあります。値マップでイベントが発生した場合、そのイベントが (外側のマップの) どのキーに属しているかを知りたいです。誰でもこれを達成するためのクリーンな方法を提案できますか?

CMap(key, cmapb(k,string)) 、 cmapb 文字列で ChangeEvent が発生するので、CMap のキーを知りたいです。k は個々のキーに対してのみ一意です (したがって、k を追跡してから k を含むキーを見つけることはオプションではありません)。

ValueChangedEvent CollaborativeMap

編集:

レコード (cmapb) を CMAP に追加する前に、この方法で EventListener をアタッチしています。

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

updateJSON でレコードの ID を渡すことができれば、CMAP を反復処理して、その ID を持つ値を見つけることができます。IDとChangeEventを渡す方法はわかりませんが。

4

1 に答える 1

1

ここで何をモデル化しようとしているのか正確にはわかりません。これらのマップに実際に任意の要素を追加していますか? それ以外の場合は、キー用のフィールドと、保存している他のオブジェクト用の他のフィールドを持つことができるカスタム オブジェクトの使用を検討することができます。( https://developers.google.com/drive/realtime/build-model#lifecycle_of_a_custom_collaborative_data_objectを参照)

関数内でその値に本当にアクセスしたい場合は、クロージャーやバインド関数などの標準の JavaScript を使用してアクセスできます。

于 2013-07-07T18:27:23.420 に答える