Wenn wir uns das Codebeispiel angle2 ansehen , sehen wir einige öffentliche Eigenschaften mit dem Zeichen $:
<....>
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
<....>
Kann mir jemand erklären:
- Warum wird $ verwendet (was ist der Grund für diese Notation? Verwenden Sie diese immer für öffentliche Objekte)?
- Es werden öffentliche Eigenschaften verwendet, jedoch keine Methoden (z. B. missionAnnouncements (), missionConfirmations ()). Ist dies wiederum eine Konvention für ng2-Apps?
Scheint es im offiziellen Styleguide nichts dazu zu geben ?
Das $ naming-Paradigma stammt von Andre Saltz und schlägt vor, alle Variablennamen zu pluralisieren, die Observablen oder Streams enthalten.
Ein anderer Ansatz besteht darin, Variablennamen zu pluralisieren, die Observablen oder Streams mit einem Unicode-Zeichen enthalten, das mit dem letzten Buchstaben des Wortes übereinstimmt. Dies behebt das Problem mit Wörtern, die nicht mit einem "s" pluralisiert sind.
Keine dieser Namenskonventionen ist im offiziellen Angular Style Guide enthalten. Die Verwendung des einen oder anderen (oder keiner) hängt vollständig von den persönlichen Vorlieben ab.
quelle
fish$
vsfish€$
Update : https://angular.io/guide/rx-library#naming-conventions-for-observables
Original :
Ich habe
$
beim Lesen des offiziellen Helden-Tutorials gesehen, wie Variablen enden :Schauen Sie genau hin, und Sie werden sehen , dass die * ngFor über eine Liste iteriert genannt
heroes$
, keine Helden .Das $ ist eine Konvention, die angibt, dass Helden $ ein Observable ist, kein Array.
In den meisten Fällen abonnieren wir diese beobachtbaren Variablen in der Komponente nicht. Normalerweise verwenden wir AsyncPipe, um die Observable-Variablen automatisch zu abonnieren
Ich habe es nicht im Style Guide gefunden, seit Angular5.1 gestern (6. Dezember 2017) veröffentlicht wurde.
quelle
heroes: Observable<Hero[]>;
Ich habe dies
$
im Styleguide nicht gesehen , aber ich habe gesehen, dass es häufig für öffentliche Objekte verwendet wird, die sich auf Observables beziehen, die abonniert werden können.quelle