@Input 装饰器的作用是什么?

发布于 2024-12-13 02:41:41 字数 1446 浏览 4 评论 0

@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 装饰器接收数据
}

解释

  1. 父组件 ( ParentComponent ):
  • 在模板中使用子组件 <app-child> ,并通过 [childData]="parentData" 绑定数据。
  1. 子组件 ( ChildComponent ):
  • 使用 @Input 装饰器定义一个 childData 属性,以便接收父组件传递的数据。

这样,子组件就能通过 childData 属性访问父组件的 parentData 了。你还想了解更多关于组件间通信的内容吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

两个我

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

杨绘峰

文章 0 评论 0

听闻余生

文章 0 评论 0

谜兔

文章 0 评论 0

xiaotwins

文章 0 评论 0

你说

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文