Это называется MVC.
Вам необходимо построить модель данных для вашего приложения, написать какой-нибудь объект Record, а затем вы сможете определить их статус. Таким образом, ваше приложение будет иметь какую-то модель CalendarEvent
, и при загрузке данных с сервера вы будете создавать экземпляры.
Таким образом, при смене представлений вы сначала проверите, есть ли у вас объект модели для этого вида, и, если вы это сделали, вам не нужно загружать его с сервера (если вы не хотите проверять наличие изменений).
Ваша схема не должна быть такой сложной. Если вы загружаете события по Id, вы можете сделать что-то вроде
window.App = {};
window.App.Models = {};
при загрузке записи вы можете поставить
window.App.Models[id] = InstanceOfYourRecord
и так довольно быстро искать записи. Или просто используйте инфраструктуру (например, Sproutcore), которая имеет надежный слой данных.