En regardant l'exemple de code angular2 , nous voyons quelques propriétés publiques avec $ sign:
<....>
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
<....>
Quelqu'un peut-il expliquer:
- pourquoi $ est utilisé (quelle est la raison derrière cette notation? utilisez toujours ceci pour les propriétés publiques)?
- les propriétés publiques sont utilisées mais pas les méthodes (par exemple missionAnnouncements (), missionConfirmations ()) - encore une fois, est-ce une convention pour les applications ng2?
Il ne semble pas y avoir quoi que ce soit à ce sujet dans le guide de style officiel ?
Le paradigme de nommage $ est né avec Andre Saltz et suggère de mettre au pluriel tous les noms de variables contenant des observables ou des flux.
Une autre approche consiste à mettre au pluriel les noms de variables contenant des observables ou des flux avec un caractère Unicode correspondant à la dernière lettre du mot. Cela résout le problème avec les mots qui ne sont pas au pluriel avec un "s".
Aucune de ces conventions de dénomination ne figure dans le guide de style angulaire officiel. L'utilisation de l'un ou de l'autre (ou aucun) dépend entièrement de la préférence personnelle.
la source
fish$
vsfish€$
Mise à jour : https://angular.io/guide/rx-library#naming-conventions-for-observables
Original :
J'ai vu les variables se terminer par
$
en lisant le tutoriel officiel des héros:Regardez attentivement et vous verrez que le * ngFor itère sur une liste appelée
heroes$
, pas des héros .Le $ est une convention qui indique que les héros $ est un observable, pas un tableau.
La plupart des cas sont que nous ne souscrivons pas à ces variables observables dans le composant. Nous utilisons généralement AsyncPipe pour nous abonner automatiquement aux variables observables
Je ne l'ai pas trouvé dans Style Guide depuis la sortie d'Angular5.1 hier (6 décembre 2017).
la source
heroes: Observable<Hero[]>;
Je n'ai pas vu cela
$
dans le guide de style, mais je l'ai vu fréquemment utilisé pour les propriétés publiques qui se réfèrent à des observables auxquelles on peut souscrire.la source