Я использую Backbonejs для создания приложения в тире. Некоторые из моих моделей сохраняются на сервере с использованием HTTP, а другие сохраняются в локальной файловой системе, доступной только через функции чтения/записи.Анализ данных модели в Backbonejs, который включает подмодели
Мой вопрос касается тех, которые я сохраняю в файловой системе, хотя это может быть применимо к любому сценарию.
Модель My Player, которая, как вы, возможно, догадались, обрабатывает воспроизведение звука, содержит объект Playlist. Когда приложение закрыто, я сохраняю текущее состояние игрока в файловой системе, чтобы его можно было возобновить при следующем запуске.
save: function() {
sdk.write_json_file('player.json', this.toJSON());
}
Я вижу, что toJSON автоматически также призывает toJSON для содержащихся моделей, в результате чего хранящегося JSON, который выглядит примерно так:
{
'playing':true,
'playlist_i': 2
'playlist':[
{
'stream_url': 'http://my.stream.com/blah',
'title': 'Title goes here',
'artist': 'Artist goes here',
...& other metadata
},
...and so on
]
}
Итак у меня перекрытые выборок функции:
fetch: function() {
var p = sdk.read_json_file('player.js');
this.set(this.parse(p), {});
return this;
}
Теперь проблема заключается в том, что после вызова fetch возникает событие сброса и попытка просмотра плеера обновляется. В представлении игрока предполагается, что модель игрока содержит объект списка воспроизведения. Технически это так, но в этот момент плейлист - это просто хэш-код JavaScript, поскольку он еще не был проанализирован в экземпляре Playlist.
Мне интересно, где бы я создал экземпляр списка воспроизведения в модели на основе данных, возвращаемых из прочитанного файла.
Отказ от ответственности: Backbonejs нуб