Как сделать так, чтобы Backbone хорошо работал с GUID?

У меня есть клиентское приложение, написанное с помощью BackboneJS. Он извлекает свои данные с сервера. Объекты домена на сервере идентифицируют себя с помощью Guids.

В Backbone, если для идентификатора модели не установлено значение «null», тогда «isNew» возвращает false. Итак, я не могу инициализировать идентификатор моей модели как Guid.Empty (вместо нуля) без побочных эффектов.

Когда я извлекаю данные со своего сервера, в ответе есть идентификаторы со значениями Guid.Empty. Backbone автоматически анализирует ответ сервера и инициирует события onChange для всех свойств, которые изменяются с «null» на «Guid.Empty».

Мне интересно, есть ли у кого-нибудь опыт в решении этой проблемы и как правильно решить эту проблему. Должны ли мои гиды быть обнуляемыми? Нужно ли переопределять метод isNew() и учитывать Guid.Empty? Я подавляю события onChange при заданных условиях?


person Sean Anderson    schedule 11.07.2013    source источник


Ответы (1)


Насколько я понимаю, Guid.Empty означает отсутствие идентификатора, и это просто соглашение об именах? Я предлагаю вам реализовать метод разбора и изменить Guid.Empty на null во всех входящих объектах. Мне кажется более естественным сохранять нулевые объекты в JS как нулевые, а не так, как их представляет ваш бэкенд.

person Artem Volkhin    schedule 11.07.2013
comment
Да, я согласен, я определенно могу это сделать, я просто не был уверен, был ли один способ более проверенным, чем другой. :) - person Sean Anderson; 12.07.2013