聊聊Angular中父子组件间怎么传递数据

angular中父子组件间怎么传递数据?下面本篇文章就来给大家介绍一下angular中父组件向子组件传数据、子组件向父组件传数据的方法,希望对大家有所帮助!

聊聊Angular中父子组件间怎么传递数据

环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12.18.3npm : 6.14.6IDE: Visual Studio Code

组件之间传递数据,最主要的就是父子组件之间传递数据, 例如:

  

登录后复制

父组件传入数据给子组件,同时,子组件数据发生变化是,希望能够通知父组件。

Angular 中,@Input() 和 @Output() 为子组件提供了一种与其父组件通信的方法。 @Input() 允许父组件更新子组件中的数据。相反,@Output() 允许子组件向父组件发送数据。【相关教程推荐:《angular教程》】

父传子 @Input()

1. 子组件定义@Input()

子组件中的 @Input() 装饰器表示该属性可以从其父组件中获取值。

例如:

export class ChildComponent {  @Input() message: string;}

登录后复制

增加@Input() 装饰器的变量,除了数据可以从父组件传入后,其他逻辑和普通变量一致;

子组件的html代码中,既可使用message这个变量, 例如:

  Parent says: {{message}}

登录后复制

2. 父组件传递变量给子组件

当父组件调用子组件时,可以把父组件的变量(如messageToChild) 传递给子组件


登录后复制登录后复制

子组件中,可以更改message这个传入的变量,但是其作用域只在子组件中,父组件拿不到更改后的结果。(如何传给父组件,请接着看)

子传父 @Output()

Angular通过事件(Event)来实现子组件通知父组件数据的改变,父组件需要订阅该事件。

1. 子组件定义@Output

子组件定义@Output

export class ChildComponent {  // EventEmitter ,这意味着它是一个事件  // new EventEmitter() -   // 使用 Angular 来创建一个新的事件发射器,它发出的数据是 string 类型的。  @Output() newItemEvent = new EventEmitter();  addNewItem(value: string) {    this.newItemEvent.emit(value);  }}

登录后复制

子组件当数据发生变化时,调用这个addNewItem方法既可。例如,html中

登录后复制

2. 父组件订阅事件

1、父组件的ts代码中,增加一个处理上面事件的方法,例如

addItem(newItem: string) {    // logic here}

登录后复制

2、父组件的html中,订阅该事件。


登录后复制登录后复制

事件绑定 (newItemEvent)=’addItem($event)’ 会把子组件中的 newItemEvent 事件连接到父组件的 addItem() 方法。

总结

使用@Input() 和 @Output() 可以很方便的实现父子组件之间的数据传递、共享。

可以同时使用 @Input() 和 @Output()

更多编程相关知识,请访问:编程学习!!

以上就是聊聊Angular中父子组件间怎么传递数据的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2702779.html

(0)
上一篇 2025年3月7日 19:27:18
下一篇 2025年3月7日 19:27:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • HTML中表单组件

    本文通过实例代码给大家介绍了html 表单组件的知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧 HTML 表单用于搜集不同类型的用户输入。 具体代码如下所示: nbsp;html>        Insert title her…

    编程技术 2025年4月4日
    100
  • vue子组件怎么调用父组件的方法

    方法:1、子组件中通过“this.$parent.event”来调用父组件的方法。2、子组件用“$emit”向父组件触发一个事件,父组件监听这个事件即可。3、父组件把方法传入子组件中,在子组件里直接调用这个方法即可。 本教程操作环境:win…

    2025年4月1日
    400
  • 浅谈Vue中动态组件怎么使用?

    本文文章我们来了解一下vue中的组件,介绍一下动态组件的用法,希望对大家有所帮助! 动态组件在开发的过程中大多数情况下都会用到,当我们需要在不同的组件之间进行状态切换时,动态组件可以很好的满足我们的需求,其中的核心是component标签和…

    2025年4月1日
    200
  • 什么是组件?带你深入理解Vue.js组件!

    什么是组件?本篇文章带大家深入理解一下vue中的组件,聊聊组件的渲染、组件的拓展,希望对大家有所帮助! Vue.js组件的本质及相应的渲染实现 引言 如果你正在使用Vue.js,那么我想你一定对Vue单文件组件(SFC)不陌生,它是Vue.…

    2025年4月1日 编程技术
    100
  • 深入了解Vue组件中的自定义事件

    什么是组件自定义事件?本篇文章带大家深入了解下vue组件中的自定义事件,聊聊自定义事件注意点,希望对大家有所帮助! 组件的自定义事件是一种组件间的通信方式,它适用于子组件向父组件传递数据或行为。(学习视频分享:vue) 原理图 组件的自定义…

    2025年4月1日 编程技术
    200
  • 什么是单元测试?Vue 组件怎么进行单元测试?

    本篇文章带大家了解一下vue 组件的单元测试,介绍一下vue 组件配置单元测试,进行单元测试的方法,希望对大家有所帮助! 我们先来简单解释一下单元测试:就是对函数的输入输出进行测试,使用断言的方式,判断我们输入的用例的结果和我们实际输入的结…

    2025年4月1日 编程技术
    200
  • 浅析Vue中父子组件间怎么通信(父传子|子传父)

    vue中父子组件间怎么通信?下面本篇文章给大家介绍一下父传子和子传父的方法,希望对大家有所帮助! 1、父组件传递给子组件 ⭐⭐ 父组件传递给子组件:通过props属性;【相关推荐:vue、vue】子组件传递给父组件:通过$emit触发事件;…

    2025年4月1日 编程技术
    100
  • 聊聊Vue怎么通过JSX动态渲染组件

    vue怎么通过jsx动态渲染组件?下面本篇文章给大家介绍一下vue高效通过jsx动态渲染组件的方法,希望对大家有所帮助! 一、明确需求 如何渲染动态组件呢?【相关推荐:vue】 有一组数组结构如下: const arr = [   { ta…

    2025年4月1日 编程技术
    200
  • Vue3学习:聊聊组件中怎么使用布尔运算

    (学习视频分享:vuejs入门教程、vuejs入门教程) 同学们大家好,作者又来输出内容了,本文的主要内容是布尔运算。可能不少小伙伴们第一反应是咱们 Javascript 中的 true 和 false,是的没错,它们都是布尔值,但是布尔运…

    2025年4月1日 编程技术
    200
  • 一文聊聊Vue组件生命周期的三个阶段(创建、运行和销毁)

    本篇文章带大家详细介绍一下vue组件生命周期的三个阶段:创建阶段、运行阶段和销毁阶段,希望对大家有所帮助! 组件生命周期 生命周期(Life Cycle)是指一个组件从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间…

    2025年4月1日 编程技术
    100

发表回复

登录后才能评论