После углового 2 учебника @https://angular.io/docs/ts/latest/tutorial/toh-pt4.htmlПровайдеры
В
@Component({
})
я вставленной "providers: [HeroService]
", который содержит метод getHeroes()
.
создал конструктор:
constructor(private heroService: HeroService) {}
Теперь часть я не понимаю, как я могу использовать
this.heroService.getHeroes()
Единственные propertes, определенные в этом классе являются:
title = 'Tour of Heroes';
heroes: Hero[];
selectedHero: Hero;
Содержит ли провайдеры в декораторе @Component
свойство для доступа к нему через this.
?
Приложение работает, просто не знаю, как мы волшебным образом смогли получить доступ к heroService через this.
Интересно, поэтому, если оставить его пустым, оно по умолчанию будет общедоступным, но не создаст свойство, но тот факт, что вы объявите его как закрытый или общедоступный, скажет классу создать свойство. Полезно знать. Я не могу обернуть голову вокруг _why_, этот синтаксис должен иметь какое-либо отношение к созданию свойства. Это потому, что, определяя его как личное или публичное, означает, что вы подразумеваете, что он будет повторно использован? Извините, если этот вопрос не имеет смысла, я довольно новичок. Но в любом случае, спасибо за ответ. Очень хорошо знать;) –
Очень часто назначаются параметры конструктора для свойств, поэтому они создали этот синтаксический шугар. Если вы опускаете 'private' и' public', свойство не создается, а 'heroService' существует только внутри конструктора. –