2016-07-13 5 views
0

Also wollte ich eine Frage nicht über Code, sondern über Auswahl stellen. Während das Projekt, an dem ich arbeite, wächst, mache ich mir mehr Sorgen darüber, was die richtigen Ansätze für verschiedene Ideen/Muster sind.Was man zwischen mehreren Komponenten wählen kann, eine für jede http get Anfrage, oder eine mit mehreren get Methoden

In diesem Fall basierend auf https://angular.io/docs/ts/latest/guide/server-communication.html und https://stackoverflow.com/a/34450948/6028947

ich wissen wollte, was am besten wäre, mehr zu empfehlen, oder wenn es nur eine Frage der Präferenz, ob mehrere GET-Anforderungen in der gleichen Datei zu setzen, oder haben mehr Dateien, mehr Komponente, und so ist es mehr getrennt. Die Idee in meinem Fall ist, ich werde etwas anklicken, Antworten vom Backend bekommen, diese Antworten und Auswahlmöglichkeiten zeigen, auf sie klicken, Antworten bekommen, mehr Auswahlmöglichkeiten bekommen, und das kann ein Weg sein mindestens 4 Schritte.

Also fragte ich mich, ob ich für jeden Schritt das Äquivalent zur held-list.component.ts machen müsste, um mehrere GET und mehrere Abonnenten zu haben, oder es wird nicht benötigt.

Vielen Dank im Voraus.

Antwort

0

Referenzierung Ihr Beispiel aus dem anderen Thread auf SO:

@Injectable() 
export class CompanyService { 
    constructor(http:Http) { 
    this.http = http; 
    } 

    getCompanies() { 
    return this.http.get('https://angular2.apispark.net/v1/companies/') 
       .map(res => res.json()); 
    } 
} 

... Sie alle HTTP-Anfragen an ein Unternehmen in diesem Dienst im Zusammenhang würde bündeln, beispielsweise Aktualisieren der Einstellungen, Hochladen eines Bildes für das Unternehmen, Löschen usw.

Wenn Sie ein Benutzerprofil aktualisieren müssen, erstellen Sie wahrscheinlich eine UserService und füllen Sie sie mit geeigneten Methoden.

Also, wenn ich Ihre Frage richtig bekommen: ja, bündeln Sie http Anfragen, die mit einer bestimmten Geschäftsressource wie eine company im gleichen Dienst beschäftigen.

+0

Mmmm nicht sicher, wir sprechen das gleiche. Ich glaube, das ist der zweite Fall, den du erwähnt hast: Ich werde zuerst ein Date bekommen, dann werde ich eine ID bekommen, dann werde ich ein paar sehr unterschiedliche Zahlen bekommen ... Also ich denke, es wäre die zweitens, wo ich unterschiedliche Bedürfnisse habe und deshalb verschiedene Dienstleistungen schaffen muss? Wäre das richtig? –

+0

Hmm, ich bin mir auch nicht sicher ob wir das gleiche meinen. : -/Unabhängig von der Art der Daten (ID, Datum, Nummer, Bild), die Sie vom Server erwarten, legen Sie sie in den gleichen CompanyService ein, sofern sie mit dem Unternehmen verbunden sind. – Matt