У меня есть некоторая путаница в объявлении переменных.
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, тогда код не работает.
любое предложение приветствуется
Это соглашение, которому следуют 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: Учиться. Сравнивать. Обновлять.