1. ホーム
  2. javascript

[解決済み] Uncaught TypeError.を修正する方法。Cannot read property 'prototype' of undefined?

2022-02-01 09:10:45

質問

少し問題があります。私はbackbone.jsを使用しています。私は例のようにこのコードを書きました。

<script>
$(document).ready(function () {
    window.App = {
        Views: {},
        Models: {},
        Collections: {}
    }

    App.Collections.Users = Backbone.Collection.extend({
         model: App.Models.User,
         url: 'service'
    });
    App.Models.User = Backbone.Model.extend({});

    App.Views.App = Backbone.View.extend({
         initialize: function() {
             console.log( this.collection.toJSON() );
         }
    });

});
</script>

その後、サーバーを起動し、ブラウザのコンソールで次のように入力しました。

var x =new App.Collections.Users();
x.fetch()

そして、この後がエラーになります。 Uncaught TypeError: Cannot read property 'prototype' of undefined . しかし、応答にはデータが存在する。詳細は画像でご確認ください。これを修正する方法は? ご回答ありがとうございました。

解決方法は?

このバグを修正しました。問題は、Collectionを作成し、次にModelを作成したことです。コレクションはユーザーモデルを作業単位としていますが、このコレクションを定義する際にモデルを定義していませんでした。

ですから、このバグを回避したい場合は、まずモデルを定義して、それからコレクションを定義してください。