2015-08-13 5 views
0

Я новичок в магистрали. Я вижу это в каждом базовом приложении:Предотвращение смены базовой линии

var List = Backbone.collection.extend({ 
    model: model 
}); 

var myList = new List(); 

Я немного смущен об этом. Этот скрипт включен в страницу, и когда страница перезагружается или открывается снова и снова, она будет сохранять экземпляр новой коллекции, не так ли?

Всякий раз, когда я сохраняю некоторые модели в этой коллекции, все по-прежнему в порядке. Но когда я начну перезагружать страницу или снова открою страницу, она снова создаст новую коллекцию с тем же именем, и коллекция снова станет пустой.

Любые предложения по предотвращению этого? Я хочу, чтобы коллекция сохраняла модели даже при перезагрузке.

+0

JavaScript объекты не будут сохраняться на перезагрузки страницы, если у вас есть какой-то механизм явно на месте, чтобы восстановить его, которые могут включать в себя данные, отправленные на страницу с сервера или данные, полученные с cookie или локальное хранилище. – gfullam

+0

Я использую ajax для POST-модели json для php-файла. Я также могу использовать метод GET для извлечения сохраненных данных. Но когда страница перезагружена, она исчезла. Или это действительно то, что должен был использовать ajax? – Pius

+1

Ваш файл PHP должен сохранять соответствующие данные на сервере, например, в базе данных, затем он должен отправлять обновленные данные на страницу при загрузке. Ваша страница должна быть настроена на стороне клиента для отображения данных, отправленных с сервера. Мне кажется, что вы не сохраняете свои данные на сервере. – gfullam

ответ

0

Используйте myList.fetch() в вашем представлении, чтобы загрузить данные из вашего ресурса api.

Некоторые подробнее на BB site

Edit:

Вы можете сохранить модель с помощью Collection create Так первый экземпляр новой коллекции, а затем использовать

Collection.create({ 
    name: 'John' 
}); 

Вы можете наблюдать свой журнал сети, чтобы увидеть что было отправлено в api.

Для примера:

var List = Backbone.collection.extend({ 
    model: model 
}); 

var myList = new List(); 
myList.create({ 
    name: 'John' 
}); 
+0

Я знаю это, как сохранить данные модели на сервере? – Pius

+0

Отредактирован ответ. – gor181

Смежные вопросы