分享更有价值
被信任是一种快乐

Angular父子组件间如何传数据

文章页正文上

这篇文章主要讲解了“Angular父子组件间如何传数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular父子组件间如何传数据”吧!组件之间传递数据,最主要的就是父子组件之间传递数据, 例如:


父组件传入数据给子组件,同时,子组件数据发生变化是,希望能够通知父组件。Angular 中,@Input() 和 @Output() 为子组件提供了一种与其父组件通信的方法。 @Input() 允许父组件更新子组件中的数据。相反,@Output() 允许子组件向父组件发送数据。1. 子组件定义@Input()子组件中的 @Input() 装饰器表示该属性可以从其父组件中获取值。例如:

exportclassChildComponent{
@Input()message:string;
}

增加@Input() 装饰器的变量,除了数据可以从父组件传入后,其他逻辑和普通变量一致;子组件的html代码中,既可使用message这个变量, 例如:

Parentsays:{{message}}


Parentsays:{{message}}
2. 父组件传递变量给子组件当父组件调用子组件时,可以把父组件的变量(如messageToChild) 传递给子组件

子组件中,可以更改message这个传入的变量,但是其作用域只在子组件中,父组件拿不到更改后的结果。(如何传给父组件,请接着看)Angular通过事件(Event)来实现子组件通知父组件数据的改变,父组件需要订阅该事件。1. 子组件定义@Output子组件定义@Output

exportclassChildComponent{

//EventEmitter,这意味着它是一个事件
//newEventEmitter()-
//使用Angular来创建一个新的事件发射器,它发出的数据是string类型的。
@Output()newItemEvent=newEv免费云主机、域名entEmitter();

addNewItem(value:string){
this.newItemEvent.emit(value);
}
}

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


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

addItem(newItem:string){
//logichere
}

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

事件绑定 (newItemEvent)='addItem($event)' 会把子组件中的 newItemEvent 事件连接到父组件的 addItem() 方法。感谢各位的阅读,以上就是“Angular父子组件间如何传数据”的内容了,经过本文的学习后,相信大家对Angular父子组件间如何传数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: react如何改变组件状态

这篇文章主要介绍“react如何改变组件状态”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react如何改变组件状态”文章能帮助大家解决问题。在react中,可以利用setState()来修改组件的状态。setStat…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册