gpt4 book ai didi

angular - Angular 2中的@Input和@Output有什么区别

转载 作者:太空狗 更新时间:2023-10-29 17:08:49 24 4
gpt4 key购买 nike

我刚开始学习 Angular2,我遇到了@Input 和@Output。两者有什么区别。

最佳答案

@Input()是将数据In传递给组件

class ChildComponent {
@Input() data;
}

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

此处 ParentComponent 通过 @Input() 属性将数据传递给子组件。 [data] 与子组件中的 property 同名。如果您想使用与属性名称不同的名称,则可以使用 @Input('diff-name')

@Output 是从一个组件Out发出数据(事件)

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)。现在每次子级发出事件时,都会调用父级回调来传递事件。

关于angular - Angular 2中的@Input和@Output有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40077142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com