42

我有一个小问题。我正在使用主干.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。但是响应中存在数据。图片中的细节。如何解决这个问题?谢谢你的回答。在此处输入图像描述

在此处输入图像描述

4

4 回答 4

65

我修复了这个错误。问题是我创建了集合,然后创建了模型。集合使用用户模型作为工作单元,但是当我定义这个集合时,我没有定义模型。

所以,如果你想避免这个错误,首先定义一个模型,然后再定义集合。

于 2013-10-31T10:15:05.880 回答
27

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>
于 2014-05-24T05:51:29.193 回答
1

就我而言,以下导入不正确:(反应)

// remove
import e from 'express';
于 2021-05-08T09:03:11.913 回答
1

就我而言,进口不正确

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

于 2021-05-27T11:03:12.550 回答