当我按下父元素中的箭头时,我总是发出true。当发射器从undefined变为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”(或其他所有消息,我只想发出某些内容以便在孩子中做某事),然后自动触发一个函数这个孩子。每当我单击父母时,孩子都会做某事。 我将不胜感激,谢谢!
答案 0 :(得分:0)
就像您要将数据从“父级”发送到“子级”元素一样,可以使用“子级@Input”中的集合:
T[list(d.keys())] = list(d.values())
然后在您的父母中,您可以这样做:
**Child**
private _changed_slide: boolean;
@Input() public set changed_slide(value: boolean) {
this._changed_slide = value;
}
HTML:
export class ParentComponent {
private eventSource: Subject<boolean>;
public event$: Observable<boolean>;
constructor() {
this.eventSource = new Subject();
this.event$ = this.eventSource.asObservable();
}
emit() {
this.eventSource.next(true);
}
}