2013-10-31 12 views
36

Tôi có một vấn đề nhỏ. Tôi đang sử dụng backbone.js. Tôi đã viết mã này như trong ví dụ:Làm thế nào để sửa chữa Uncaught TypeError: Không thể đọc tài sản 'nguyên mẫu' của không xác định?

<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> 

Thần I bắt đầu máy chủ và trong trình duyệt của giao diện điều khiển loại này:

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

Và đây sau lỗi: Uncaught TypeError: Cannot read property 'prototype' of undefined. Nhưng dữ liệu có mặt để đáp ứng. Chi tiết trong ảnh. Làm thế nào để sửa lỗi này? Cảm ơn bạn đã trả lời. enter image description here

enter image description here

Trả lời

62

tôi khắc phục lỗi này. Vấn đề là tôi tạo ra Bộ sưu tập và sau đó là Người mẫu. Bộ sưu tập sử dụng mô hình người dùng, làm đơn vị hoạt động, nhưng khi tôi đã xác định Bộ sưu tập này, tôi không xác định Mô hình.

Vì vậy, nếu bạn muốn tránh lỗi này, trước tiên hãy xác định Mô hình và chỉ sau đó xác định Bộ sưu tập.

+4

Đây cũng là vấn đề đối với trường hợp của tôi! Tôi đang sử dụng Gulp, vì vậy nếu có ai đó sử dụng, hãy kiểm tra trình tự tải. – Sander

+0

Vâng, tôi đã đổi tên kiểu là bộ sưu tập đã tham chiếu, gây ra lỗi này. –

+3

Thiên Chúa chúc lành cho StackOverflow. Thông báo lỗi đó sẽ không bao giờ dẫn tôi đến sự kết hợp đó. Tôi cũng là nạn nhân của việc nuốt chửng. – ProblemsOfSumit

26

Backbone Js có sự phụ thuộc với underscore.js và jQuery, hãy thử sắp xếp lại các tài nguyên. Làm việc này cho tôi:

<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> 
+0

Tôi thấy điều này là đúng. do lệnh nhập thư viện – kidnan1991

+1

Tôi có vấn đề tương tự mà backbone.min phàn nàn về việc đọc tài sản của không xác định tôi nghi ngờ nó là một vấn đề bộ sưu tập, đó là vấn đề đặt hàng nhập khẩu lol, Thanks guys – Syntaxsizer

Các vấn đề liên quan