Сохранение магистрали с LocalStorage с извлеченными данными БД?
ОБНОВИТЬ
Итак, я все еще вхожу в мир Backbone. Но у меня есть проблема с добавлением localStorage в модель.
Так что это не работает, но я не знаю, что происходит?
var Model = Backbone.Model.extend({
//localStorage: new Backbone.LocalStorage("SomeCollection"),
url: "/GetMyData",
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var NewTest = new Model();
NewTest.fetch();
console.log ( NewTest ); //This as DB data
console.log ( NewTest.attributes ); //This is empty
Как "атрибуты" в первом файле console.log могут содержать данные БД, а затем второй может быть полностью пустым? 1-й console.log также пуст, если я раскомментирую localStorage, так что я догадываюсь, что я что-то не так делаю?
Хорошо, я не уверен, что я делаю неправильно, но я использую Backbone и при вызове извлечения, сохраните этот идентификатор с помощью плагина LocalStorage. Теперь у меня есть вызов fetch и LocalStorage, работающие отдельно, но я не могу заставить их работать вместе.
Так что мой код LocalStorage
var Model = Backbone.Model.extend({
localStorage: new Backbone.LocalStorage("SomeCollection"),
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var NewTest2 = new Model();
NewTest2.set({
"id": "99",
"datatest1": "TEST-1-Q22",
"test2": "TEST-2-CL22"
});
NewTest2.save();
Так что это работает, никаких проблем с этим. Теперь я добавляю коллекцию и извлекаю данные из моей базы данных. Так что мой код извлечения, с коллекцией
var Model = Backbone.Model.extend({
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var Col = Backbone.Collection.extend({
model: Model,
url: "/GetMyData"
});
var NewTest3 = new Col();
NewTest3.fetch();
console.log( NewTest3 );
Я должен также сказать, что я использую PHP Slim в качестве основы. /GetMyData
path получает данные из базы данных MySQL через соединение PDO, которое я затем преобразовываю в объект JSON для Backbone.
Что я полагаю, это хорошо, так как все работает, console.log
Список атрибутов отображает правильные данные из моей БД.
Теперь, когда я соединяю их вместе, я не могу заставить их работать.
var Model = Backbone.Model.extend({
defaults: {
"id": "",
"datatest1": "",
"test2": ""
}
});
var Col = Backbone.Collection.extend({
localStorage: new Backbone.LocalStorage("SomeCollection2"),
model: Model,
url: "/GetMyData"
});
var NewTest4 = new Col();
NewTest4.fetch();
console.log( NewTest4.save() );
это console.log
возвращается, Uncaught TypeError: undefined is not a function
, Так я не уверен, почему? Когда я устанавливаю данные в моем 1-м тесте, он работает нормально. Теперь я также попытался переместить localStorge
Вар в модель, но с тем же эффектом.
Основная цель - сделать так, чтобы я мог регистрировать все данные, поступающие с сервера. Когда я устанавливаю несколько разных тестов данных, мне очень нравится, как этот плагин сохраняет данные.
Благодарю.
* Пожалуйста, обратите внимание, я дислексик, поэтому, возможно, я не объяснил себя правильно, пожалуйста, скажите мне, если есть что-то, что я могу перефразировать, чтобы объяснить себя лучше. Спасибо за Ваше понимание.