Ich bin brandneu zu EmberJS, und bin durch ein Tutorial. Ich bin bei dem Teil des Tutorials, der anfängt über das Erstellen von Diensten zu sprechen und sie in Ihre Controller zu injizieren (ich bin nicht 100% sicher, ob es ein Controller ist, aber ich komme aus AngularJS, und es scheint ziemlich ähnlich).Ember generiert Serviceerhöhung Fehler bei der Injektion
Im Terminal in meinem Ember-Projekt führe ich den Befehl ember g service authentication
. Ich kann sehen, dass der Dienst im Diensteverzeichnis meiner App in der Datei authentication.js
erstellt wurde. Wenn ich es in meinen Controller versuchen, die Injektion jedoch bekomme ich dieses Problem im Browser, wenn ich vor Ort die App dienen up,
Error: Assertion Failed: Attempting to inject an unknown injection: 'service:authentication
Könnte das sein, weil ich eine Version von Ember bin mit, die als im Tutorial ist neue und es gibt eine andere Möglichkeit, Dienste jetzt zu injizieren? Ich frage das, weil das ist die Syntax des Dienstes im Tutorial
import ember from 'ember'
export default Ember.Service.extend({
records: []
});
und dies ist die Syntax von dem, was ich jetzt habe, automatisch erstellt, wenn das Projekt mit ember new
import Service from '@ember/service';
export default Service.extend({
records: []
});
gebaut wurde org js "Wo Dienst injiziert wird"
import Route from '@ember/routing/route';
export default Route.extend({
authentication: Ember.inject.service(),
setupController(controller) {
this._super(...arguments);
}
});
Der Code, den Sie in Ordnung geteilt tun musste neu gestartet ist, wird mit einer Sache, die Sie ändern könnte 'Import {inject} von "@ ember/service"; 'statt sich auf den globalen' Ember.inject.service' zu verlassen. –