0

更新

好的,所以我还在进入 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 上的“属性”如何包含数据库数据,然后第二个完全为空?第一个console.log 也是空的,如果我取消注释localStorage,所以我在客串我做错了什么?


好的,我不确定我做错了什么,但我正在使用 Backbone 并在 fetch 调用中,使用 LocalStorage 插件保存该 ID。现在我让 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路径通过 PDO 连接从 MySQL 数据库获取数据,然后我将其转换为 Backbone 的 JSON 对象。

我认为这很好,因为一切正常,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。所以我不确定为什么?当我在第一次测试中设置数据时,它工作正常。现在我也尝试将localStorgevar 移动到模型中,但效果相同。

这样做的主要目的是让我可以记录来自服务器的所有数据。当我设置几个不同的数据测试时,我非常喜欢这个插件保存数据的方式。

谢谢。

*请注意,我有阅读障碍,所以我可能没有正确解释自己,请告诉我是否有什么我可以重新措辞来更好地解释自己。感谢您的理解。

4

0 回答 0