#angular
#angular
Вопрос:
Я создал компонент для автозаполнения-просмотра текста, который я должен использовать на многих страницах.
В родительском классе я использовал этот дочерний компонент 3 раза, что означает, что страница имеет 3 режима автозаполнения текста.
У каждого autocomplete-text-view
компонента есть кнопка очистки.
Теперь, если я нажму кнопку очистки первого, autocomplete-text-view
данные из двух других autocomplete-text-view
полей ввода должны очиститься.
Пожалуйста, помогите мне, как этого добиться.
I have used `@Output` decorator and emitted the event to parent component .So that I can pass empty message using `@Input` decorator to clear the data of other 2 `autocomplete-text-view` .But it is not working.
parentcomponent.html
<app-search-bar (clear)="subchapter_select=''"></app-search-bar>
<app-search-bar [search_key]="subchapter_select" (clear)="op=''">
</app-search-bar>
<app-search-bar [search_key]="op" ">
</app-search-bar>
дочерний компонент.ts
export class SearchBarComponent implements OnInit {
@Input() search_key;
@Output() clear = new EventEmitter();
clearText(){
this.clear.emit();//emiting event from child component to parent
}
}
Когда я нажимаю на кнопку очистки первого autocomplete-text-view
.Данные в поле ввода другого autocomplete-text-view
должны стать чистыми
Комментарии:
1. Вероятно, вы захотите использовать общий сервис для взаимодействия с компонентами. Вот stackblitz в качестве примера, надеюсь, это поможет. stackblitz.com/edit/angular-mgwsrv
2. Спасибо. Мне нужен вывод, подобный тому, что когда я нажимаю на кнопку очистки первого элемента, он должен очистить другие 2. Если я нажимаю на кнопку очистки второго элемента, он должен очистить третий. Пожалуйста, проверьте эту ссылку stackblitz.com/edit/angular-h1adnp. Теперь с вашей помощью я мог бы очистить 2 и 3 элемента, когда я нажимаю на 1-й элемент. Теперь я хочу очистить только 3-й элемент при нажатии на второй элемент