Сохранение магистрали с 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 Вар в модель, но с тем же эффектом.

Основная цель - сделать так, чтобы я мог регистрировать все данные, поступающие с сервера. Когда я устанавливаю несколько разных тестов данных, мне очень нравится, как этот плагин сохраняет данные.

Благодарю.

* Пожалуйста, обратите внимание, я дислексик, поэтому, возможно, я не объяснил себя правильно, пожалуйста, скажите мне, если есть что-то, что я могу перефразировать, чтобы объяснить себя лучше. Спасибо за Ваше понимание.

0 ответов

Другие вопросы по тегам