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

1 番目の console.log の「属性」に db データが含まれていて、2 番目のデータが完全に空になるにはどうすればよいですか? localStorage のコメントを外すと、最初の console.log も空になります。


わかりました、何が間違っているのかわかりませんが、バックボーンを使用していて、フェッチ呼び出しで、LocalStorage プラグインを使用してその ID を保存しています。今、私はフェッチ呼び出しと 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 をベースとして使用しています。パスは PDO 接続を介して MySQL データベースからデータを取得し、それ/GetMyDataを Backbone の JSON オブジェクトに変換します。

すべてが機能するので、これは良いと思いconsole.logます。属性のリストには、DB から正しいデータが表示されます。

2つを組み合わせると、うまく機能しないようです。

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。だから私はなぜわからないのですか?最初のテストでデータを設定すると、正常に動作します。今、localStorge変数をモデルに移動しようとしましたが、同じ効果がありました。

これを行う主な目的は、サーバーからのすべてのデータをログに記録できるようにすることです。いくつかの異なるデータ テストを設定したとき、このプラグインがデータを保存する方法が非常に気に入りました。

ありがとう。

*注意してください、私は失読症なので、自分自身を正しく説明していない可能性があります。自分自身をよりよく説明するために言い換えることができるものがあれば教えてください. ご理解いただきありがとうございます。

4

0 に答える 0