父组件
引用子组件
注意采用"()"而不是"[]"
1 | <app-hero-detail (params)="yourmethod($event)"></app-hero-detail> |
子组件
定义接收参数
@out() params:EventEmitter<boolean> = new EventEmitt();
constructor() {
this.params.emit(true);
}
在子组件对params操作,true将返回到父组件yourmethod中当做参数,
然后你就可以在父组件获取到这个true了.
我是再做父组件控制子组件显示中触发子组件显示隐藏后,再次操作无法触发子组件,然后别人告诉我是子组件会一直是第一次修改后的值,所以我在子组件触发事件后,通过父组件更改子组件的显示隐藏,然后顺利解决
碰到的问题的解决:
父组件第一次改变参数后子组件相应做出改变,父组件之后的参数改变,却无法再次使子组件改变,是因为什么?需要怎么修改?原理?
1:父组件控制子组件显示,子组件自身关闭后却没传递消息给父组件,所以父组件一直认为是先前自己控制子组件的状态,所以子组件不能让子组件显示(已经显示了)
2:传递消息与父组件即可
3:父子组件的通讯