Ich versuche, eine einfache HTML-Seite zu erhalten, um die abgerufenen Sammlungsdaten auf der HTML-Seite anzuzeigen. Es werden keine Fehler geworfen, so dass ich nicht sagen kann, was ich falsch mache.Backbone JS - Ansicht nicht rendern
Das Modell, die Sammlung und die Ansicht werden ordnungsgemäß erstellt, da ich sie in der Konsole mit den Daten anzeigen kann, die von der API abgerufen werden. Die Seite zeigt jedoch nichts auf der Seite an. Jede Hilfe würde sehr geschätzt werden.
Modell
Department = Backbone.Model.extend({
idAttribute: "dept_id",
urlRoot: appRouteUrl + '/api/v1/departments',
defaults: {
dept_code: '',
dept_desc: ''
}
});
Sammlung
DepartmentCollection = Backbone.Collection.extend({
url: appRouteUrl + '/api/v1/departments',
model: Department
});
Ansicht
var DepartmentListView = Backbone.View.extend({
template: "#department-list-template",
tagName: "ul",
render: function() {
var results = [];
var compiledTemplate = _.template(this.template);
this.collection.each(function(department) {
console.log(department);
var html = compiledTemplate(department.toJSON());
results.push(html);
});
this.$el.html(results);
return this;
}
});
Inde x
<!DOCTYPE html>
<html>
<head>
<title>AppName</title>
</head>
<body>
<div class="departments">
<script type="text/template" id="department-list-template">
<span><%= dept_desc %></span>
</script>
</div>
<script>
var departments = new DepartmentCollection();
departments.fetch();
var departmentList = new DepartmentListView({
collection: departments
});
$('.departments').html(departmentList.render().$el);
departmentList.render();
</script>
</body>
</html>
Vielen Dank für die Hilfe, aber das gibt auch nichts zurück, keine Fehler, aber auch nichts auf dem Bildschirm. Ich denke, ich werde versuchen, dies mit einer anderen Technik anzugreifen. – merty41