Что означает $ в Angular 7

У меня есть некоторая путаница в объявлении переменных.

what does $ mean in heroes$

Угловой 4

export class HeroSearchComponent implements OnInit {
heroes: Observable<Hero[]>;
private searchTerms = new Subject<string>();

constructor(
 private heroSearchService: HeroSearchService,
 private router: Router) {}

Угловой 7+

 export class HeroSearchComponent implements OnInit {
 heroes$: Observable<Hero[]>;
 private searchTerms = new Subject<string>();
 constructor(private heroService: HeroService) {}

     // Push a search term into the observable stream.
          search(term: string): void {
          console.log(term);
            this.searchTerms.next(term);
        }
  • у меня путаница в angular 7 ver где героев назначается с помощью переменной $.

  • я пытался удалить символ $ из var, тогда код не работает.

  • любое предложение приветствуется


6
5 205
1

Ответ:

Решено

Это соглашение, которому следуют Observables. Вот что говорят об этом Угловые документы:

Because Angular applications are mostly written in TypeScript, you will typically know when a variable is an observable. Although the Angular framework does not enforce a naming convention for observables, you will often see observables named with a trailing “$” sign.

This can be useful when scanning through code and looking for observable values. Also, if you want a property to store the most recent value from an observable, it can be convenient to simply use the same name with or without the “$”.

Нет ничего плохого в том, чтобы не следовать ему как таковому. Но поскольку это рекомендация, следовать ей полезно.

ОБНОВИТЬ

Соглашения развиваются со временем в зависимости от прошлого опыта разработчиков. Это конкретное соглашение было совершено 10 января 2018 г.

Так что да, это соглашение было добавлено в Документы после Angular 5, и есть большая вероятность, что вы не использовали его во время работы в Angular 4.

Кроме того, синтаксис для Rxjs также значительно изменился после обновления до Rxjs 5.5 в Angular 5 (не уверен насчет точной версии). Поэтому вы можете проверить, как с течением времени изменился синтаксис Rxjs. Есть отличный инструмент, который поможет вам в этом. Проверьте RxJS Проводник 2.0: Учиться. Сравнивать. Обновлять.