0

このような質問がいくつかあります。答えは見つかりませんでした。

サンプルの TodoMVC を backbone.js と require.js で使用して、localstorage からではなくサーバーから取得したいと考えています。

モデルが次のような適切なjsonコレクションを返すURLがあります。

{"string1": "foo", "string2":"bar", "somefloat":0}

私のモデル (model/todo.js) では、デフォルトを次のように変更します。

defaults: {string1: '', string2: '',somefloat: 0},

私のコレクション (collections/todos.js) では、localstorage をコメントアウトして、URL を追加します。

これにより、フェッチがサーバーに送られ、json コレクションが返されることがわかります。

しかし、何らかの理由で、backbone.js の 817 行目でモデルが定義されていません。

    // Prepare a model or hash of attributes to be added to this collection.
    _prepareModel: function (model, options) {
        options || (options = {});
        if (!(model instanceof Model)) {
            console.log(Model);
            var attrs = model;
            console.log(attrs.Kana);
            options.collection = this;

            //ERROR IN THIS LINE: Uncaught TypeError: undefined is not a function 
            model = new this.model(attrs, options);

            if (!model._validate(model.attributes, options)) model = false;
        } else if (!model.collection) {
            model.collection = this;
        }
        return model;
    },

localstorage を使用していないのにモデルが定義されていないのはなぜですか?

4

1 に答える 1

0

urlRootモデルでプロパティを設定する必要もあります。

var TodoModel = Backbone.Model.extend({

    urlRoot: "/Practice/GetCollection",
于 2012-10-04T13:28:12.943 に答える