backbone.js 如何修复未捕获的TypeError:无法读取未定义的属性'prototype'?

xv8emn3q  于 2022-11-10  发布在  其他
关注(0)|答案(4)|浏览(130)

我遇到了一个小问题。我使用的是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。但是数据在响应中出现。详细信息在图片中。如何解决这个问题?感谢您的回答。

uqjltbpv

uqjltbpv1#

我修复了这个bug。问题是我创建了集合,然后是模型。集合使用用户模型作为工作单元,但是当我定义这个集合时,我没有定义模型。
所以,如果你想避免这个错误,首先定义一个模型,然后才定义集合。

ccgok5k5

ccgok5k52#

Backbone Js依赖于underscore.js和jQuery,请尝试重新排序资源。这对我很有效:

<head>
    <title>Backbone</title>

    <!-- Scripts Load Here-->       
    <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="js/underscore.js"></script>
    <script type="text/javascript" src="js/backbone.js"></script>
</head>
xdnvmnnf

xdnvmnnf3#

在我的例子中,导入是不正确的
import { urlencoded } from "express";
当我删除此语句时,它对我有效。检查您正在使用的文件的导入,是否导入了不必要的内容

vojdkbi0

vojdkbi04#

在我的例子中,以下导入是不正确的:(React)

// remove
import e from 'express';

相关问题