Когда я нажимаю стрелку в родительском элементе, я всегда испускаю true. Дочерний элемент получает изменение только в начале, когда эмиттер изменяется с неопределенного на истинное. Есть ли способ всегда вызывать функцию, когда родитель испускает что-то, даже если это то же значение, что и в последнее время?
Родительский HTML:
<div (click)="emit()">
<child [changed_slide]= "changed_slide"></child>
Родительский .ts:
emit(){this.changed_slide.emit(true);}
Ребенок:
ngOnChanges(changes: { [property: string]: SimpleChange }){
let change: SimpleChange = changes['changed_slide'];
console.log(change);
}
Итак, я хочу, чтобы каждый раз, когда я нажимаю на родительский div, "true" будет испускаться (или все остальное, я просто хочу, чтобы что-то испускалось, чтобы что-то делать в дочернем элементе), а затем одна функция будет автоматически запускаться в дочернем элементе. Каждый раз, когда я нажимаю на родителя, ребенок что-то делает. Буду признателен за любые идеи, Спасибо!
true
наtrue
. Так что вообще не меняется. Таким образом, ngOnChanges() не вызывается, так как входное значение не изменяется. Выдать другое значение. Или используйте общую службу и подпишитесь на наблюдаемый объект, предоставляемый этой общей службой от дочернего элемента. - person JB Nizet   schedule 29.11.2019