Angular 组件间传值
一、@Input & @Output & EventEmitter
什么是 @Input?什么是 @Output?
-
@Input
是用于定于模块输入是用于父组件给子组件传值的。 -
@Output
是用于子组件给父组件传值的。@Output
将子组件中的属性标记为数据,从子组件传到父组件,并且使用该属性提出事件,从而通知父组件去进行修改,这里就用到了EventEmiiter
-
EventEmiiter
在组件中使用@Output
指令同步或异步发出自定义事件,并通过订阅实例为这些事件注册处理程序。
如何在组件中使用 @Input & @Output 传值
- 想要在子组件中使用 @Input,首先需要在组件中引入,然后在组件中声明变量。
- 因为需要子组件告知父组件,所有也需要同时引入
@Output
和EventE mitter
,并为其初始化。 - 子组件暴露一个
EventEmitter
属性,当事件发生时,子组件利用该属性 emits(向上弹射)事件。父组件这个事件的属性,并在事件发生时作出回应
child.component.ts