Ich habe ein kleines Beispiel erstellt, um zu versuchen, dass mehrere Modelle ohne Ember-Daten funktionieren.Wie arbeiten Sie mit mehreren Modellen in Ember JS (ohne Ember Data)?
App = Ember.Application.create();
App.Router.map(function() {
this.resource('employees', function() {
this.route('employee');
});
});
App.Employee = Ember.Object.extend({});
App.Employee.reopenClass({
findAll: function() {
return $.getJSON("http://localhost/api/employee").then(
function (response) {
var employees = [];
response.forEach(function (child) {
employees.push(App.Employee.create(child));
});
console.log(employees.join('\n'));
return employees;
}
);
}
});
App.EmployeesController = Ember.ArrayController.extend({});
App.EmployeesRoute = Ember.Route.extend({
model: function() {
return App.Employee.findAll();
}
});
Lenker:
<script type="text/x-handlebars">
<p>Application template</p>
{{#linkTo employees}}<button>Show employees</button>{{/linkTo}}
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="employees">
<p>Employees template</p>
{{#each controller}}
<p>{{Name}}</p>
{{/each}}
{{outlet}}
</script>
Wenn ich direkt an die localhost/#/employee
URL navigieren, funktioniert es völlig in Ordnung, aber wenn ich auf dem „Show Mitarbeiter“ klicken, erhalte ich folgende Fehlermeldung:
Ich vermisse wahrscheinlich irgendwo etwas, aber ich weiß nicht genau, auf welches Objekt sich der Fehler gerade bezieht. Mein Modell-Hook wird korrekt aufgerufen, wenn ich den Button drücke, genauso wie wenn ich mit manuell durch Eingabe der URL navigiere, so dass ich nicht verstehe, was genau in den beiden erwähnten Fällen anders ist.