Ich bin neu in Angular 2. Ich arbeite an einer E-Commerce-Website und ich habe einige grundlegende Klassen für Benutzer, Artikel, Gebote, etc ... Meine Benutzerklasse hat viele Parameter, einige von ihnen sind:Angular 2 - Run Dienste innerhalb der Klassen
export class User {
id: number;
name: string;
email: string;
...
notifications: Notification[];
}
der Notification-Klasse, hat nur zwei Parameter wie folgt:
export class Notification {
notification: string;
read: boolean;
}
ich habe einen Service für die Nutzer und eine für Benachrichtigungen.
Die Situation ist dies: Wenn ein Benutzer eine Benachrichtigung liest, muss ich eine Anfrage an den Server stellen, um den Wert des "Lese-Flags" der Benachrichtigung in meiner Datenbank zu ändern. Um dies zu tun, in meiner Komponente, kann ich:
this.notificationService.changeToRead(user.notifications[x]).subscribe(...);
In der vorherigen Zeile Ich stelle mir vor, dass notificationService ist eine Instanz NotificationService, die ein Verfahren namens changeToRead (Meldung: Notification), die die Anforderung ausführt.
Mein Problem dabei ist, dass es scheint Verfahrens ist, und ich möchte eine objektorientierte Lösung wie:
user.notifications[x].changeToRead();
Um dies zu tun, muss ich die Methode changeToRead() in der Klasse Mitteilung haben, aber es scheint, dass ich keinen Service in eine Klasse injizieren kann ... Aber selbst wenn ich könnte, möchte ich nicht so viele Instanzen von Diensten wie Benachrichtigungen, die ich habe ...
Ich bin mir nicht sicher, ob ich Bin klar wegen meinem schlechten Englisch, aber ich muss eine Lösung finden, um meine Anfrage objektorientierter zu machen wie ...
Irgendwelche Ideen?
Grund für die Verwendung dieser 'Klasse'. Es sollte mit einem '@ Component' – Aravind