Компоненты по своей природе изолированы, они понимают только то, что присутствует в их context
(этом), что бы вы ни хранили в своем классе. В дополнение к этому он также распознает Input
+ Output
привязок + Injectors
Вы сохранили свою функцию в AppModule
, которая недоступна для вашего компонента template
. Вы должны переместить это function
к вашему app.component.ts
По сути, все, что связано с html вашего компонента, что вы должны переместить внутрь app.component.ts
@Component({...})
export class AppComponent {
userWord = 'this is a test';
takeUserStr(event: any) {
this.userWord = (<HTMLInputElement>event.target).value;
}
}
Также передайте $event
объект как в параметре функции takeUserStr
.
(click)='takeUserStr($event)'
Хотя моя рекомендация реализовать этот сценарий с использованием @angular/forms
, либо на основе модели, либо на основе шаблона.
Проверка Использование ngModel с Angular