2013-12-11 2 views
0

다른 클라이언트가 model.getRoot().get('book')에있는 객체가 'Book' 것을 알 수있는 방법이있는 developer guide사용자 정의 오브젝트의 "이름"또는 유형을 판별하는 방법은 무엇입니까?

myApp.Book = function() {} 
gapi.drive.realtime.custom.registerType(myApp.Book, 'Book'); 
myApp.Book.prototype.title = gapi.drive.realtime.custom.collaborativeField('title'); 
// ... other fields 
var book = model.create('Book'); 
model.getRoot().set('book', book); 

에 설명 된 사용자 정의 책 객체를 가정?

이 API는 사용자 정의 개체 (gapi.drive.realtime.custom.isCustomObject(model.getRoot().get('book')) == true)이 있는지 여부를 알려줍니다,하지만 사용자 지정 개체의 유형은 일반적으로 클라이언트가 데이터 모델을 기반으로 유형을 가정 할 수 있어야한다

답변

1

무엇을하지 구조.

데이터 모델 구조가 모호하면 각 사용자 지정 개체에 "name"속성을 추가하여 구별 할 수 있습니다.

이니셜 라이저에 값을 설정하기 만하면됩니다. (https://developers.google.com/drive/realtime/build-model#registering_and_creating_custom_objects 참조)

+0

이것은 응용 프로그램에 대한 좋은 해결책이지만 실시간 API 상단에 라이브러리를 쓰고 있습니다. 현재 해결 방법은 객체 ID의지도를 모델 루트의 유형 이름에 넣는 것입니다. 나는 모델을 납치하는 것을 좋아하지 않지만, 실시간 API에서 이름을 얻는 방법없이 모든 클라이언트에게 타입 정보를 얻는 유일한 방법 인 것 같다. –

관련 문제