@Input 装饰器的作用是什么?
@Input 是属性装饰器,用来定义组件内的输入属性。在实际应用场合,我们主要用来实现父组件向子组件传递数据。Angular 应用是由各式各样的组件组成,当应用启动时,Angular 会从根组件开始启动,并解析整棵组件树,数据由上而下流下下一级子组件。
当然,下面是一个简单的示例,演示如何使用 @Input
装饰器在 Angular 组件中传递数据。
父组件
import { Component } from '@angular/core';
@Component({
selector: 'app-parent',
template: `
<h1>父组件</h1>
<app-child [childData]="parentData"></app-child>
`
})
export class ParentComponent {
parentData = '来自父组件的数据';
}
子组件
import { Component, Input } from '@angular/core';
@Component({
selector: 'app-child',
template: `
<h2>子组件</h2>
<p>{{ childData }}</p>
`
})
export class ChildComponent {
@Input() childData!: string; // 使用 @Input 装饰器接收数据
}
解释
- 父组件 (
ParentComponent
):
- 在模板中使用子组件
<app-child>
,并通过[childData]="parentData"
绑定数据。
- 子组件 (
ChildComponent
):
- 使用
@Input
装饰器定义一个childData
属性,以便接收父组件传递的数据。
这样,子组件就能通过 childData
属性访问父组件的 parentData
了。你还想了解更多关于组件间通信的内容吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论