общественное поле
м 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