J'ai un petit problème. J'utilise backbone.js. J'ai écrit ce code comme dans l'exemple:
<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>
Puis j'ai démarré le serveur et dans la console du navigateur, tapez ceci:
var x =new App.Collections.Users();
x.fetch()
Et ceci suit à l'erreur: Uncaught TypeError: Cannot read property 'prototype' of undefined
. Mais les données sont présentes en réponse. Détails en image. Comment régler ceci? Merci pour vos réponses.
J'ai corrigé ce bug. Le problème était que j'ai créé Collection, puis le modèle. Les collections utilisent le modèle utilisateur en tant qu'unité de travail, mais lorsque j'ai défini cette collection, je n'ai pas défini de modèle.
Donc, si vous voulez éviter ce bogue, commencez par définir un modèle, puis définissez ensuite la collection.
Backbone Js a une dépendance avec underscore.js et jQuery, essayez de réorganiser les ressources. Cela a fonctionné pour moi:
<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>