加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2中@Input和@Output之间有什么区别

发布时间:2020-12-17 08:53:00 所属栏目:安全 来源:网络整理
导读:我刚学习Angular2,我遇到了@Input和@Output.两者有什么区别. @Input()是将数据传递给组件 class ChildComponent { @Input() data;}@Component({ template: `child [data]="parentData"/child})class ParentComponent { parentData;} 这里ParentComponent通过
我刚学习Angular2,我遇到了@Input和@Output.两者有什么区别.
@Input()是将数据传递给组件
class ChildComponent {
  @Input() data;
}

@Component({
  template: `<child [data]="parentData"></child>
})
class ParentComponent {
  parentData;
}

这里ParentComponent通过@Input()属性将数据传递给子节点. [data]与子组件中的属性名称相同.如果要使用与属性名称不同的名称,则可以使用@Input(‘diff-name’)

@Output是从组件中发出数据(事件)

class ChildComponent {
  @Output() dataChange = new EventEmitter();

  click() {
    dataChange.emit('new Value');
  }
}

@Component({
  template: `<child (dataChange)="onDataChange($event)"></child>
})
class ParentComponent {

  onDataChange(event) {
    console.log(event);
  }
}

这里ChildComponent有一个它发出事件的@Output.父级正在侦听并将回调传递给(dataChange).现在每次子项发出一个事件时,将调用父回调来传递事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读