当前位置:Gxlcms > JavaScript > angular2input和output解析

angular2input和output解析

时间:2021-07-01 10:21:17 帮助过:4人阅读

本文主要介绍了angular2 ng2 @input和@output理解及示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

angular2 @input和@output理解

先做个比方,然后奉上代码

比如:


<talk-cmp [talk]="someExp" (rate)="eventHandler($event.rating)">

input, [talk]="someExp" 这个标签可以理解为一个专门的监听器,监听父组件传递过来的someExp参数,并存入自身组件的talk变;好像是开了个后门,允许且只允许父组件的someExp进入,一旦进入立刻抓进一个叫talk的牢房,然后子组件中就可以通过@Input来定义这个变量talk然后使用它。

output ,(click)="eventHandler($event.rating) 这个意思是, 当子组件的click事件被触发,就执行父组件的eventHandler函数,并把子组件的参数$event.rating传递给父组件的eventHandler函数;就好像,当小孩子一哭(执行click事件),他的母亲立刻把他抱在怀里(执行母亲的eventHandler),同时母亲获得了小孩子的一些参数($event.rating)

1、@input()

父组件 father.component.ts 提供数据


模板文件 father.html


<h1>父组件</h1>
// 包含子组件, 并使用属性传递数据过去
<my-child [info]="data"></my-child>

子组件 child.component.ts 获取数据


子组件 child.html模板文件


<ul>
  <li *ngFor="let item of info">
    {{item.name}}
  </li>
</ul>

2、@Output()

子组件three-link.component.ts

1. 引入


2. 定义输出变量


输出一下参数 @Output() provinceOut = new EventEmitter(); constructor() { this.province = "陕西"; } }

3. 事件出发,发射变量给父组件


父组件模板


<!--三级联动组件-->
<three-link (provinceOut)="recPro($event)"></three-link>

父组件


相关推荐:

JS实现点击下拉菜单把选择的内容同步到input输入框内的实例

JS点击下拉菜单把选择的内容同步到input输入框内实现方法

使用output标签标注JavaScript返回值的实例分析

以上就是angular2 input和output解析的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行