общественное поле

м Plunker здесь (модифицированныйТур Героев приложение из официальных документов) я создал этот метод вhero.service

  doHeroesExist(): boolean {
   console.log("doHeroesExist called..", this.heroesExist);
   alert("doHeroesExist called.." + JSON.stringify(this.heroesExist));
    return this.heroesExist;
  }

и использовать его вapp.component класс

  ngOnInit(): void {
    //this.getHeroes();
    this.heroesExist = this.heroService.doHeroesExist;
    console.log("app ngOnInit called...", this.heroesExist);

}

как зовутheroesExist() метод в шаблоне

<button (click)="heroesExist()">Do Heroes Exist?</button>

Я озадачен его поведением.

Когда я нажимаюСуществуют ли герои? кнопка, я ожидаю, что консоль (и всплывающее окно предупреждения), чтобы войти"doHeroesExist называется .. true", но вместо этого он регистрирует весь текст сервисной функции:

doHeroesExist звонил .. ƒ () {console.log ("doHeroesExist звонил ..", this.heroesExist); alert ("doHeroesExist звонил .." + JSON.stringify (this.heroesExist)); вернуть this.heroesExist; }

Почему это происходит?

Почему сервис не оценивает правильноheroesExist = true; как это определено в конструкторе сервиса?

ПЛАНКЕРНАЯ ССЫЛКА:https://plnkr.co/edit/MBEGkqnV5kie9PB3az9K?p=preview

Ответы на вопрос(2)

Ваш ответ на вопрос