gpt4 book ai didi

angular - 如何通过 @Input() 将父组件传递到 Angular 7 中的子组件

转载 作者:行者123 更新时间:2023-12-02 18:06:51 24 4
gpt4 key购买 nike

使用 Angular 7,

我有一个组件,它有一个输入属性,该属性是一个它询问某些信息的对象。

<app-details [item]="whatGoeHere" key="firstName"></app-details>

在组件中,我有一个像这样的输入属性......

export class DetailsComponent implements OnInit{

@Input() item: any;
@Input() key: string;

ngInit(){
if(this.item && this.item.isYummy){
....
}
}
...
}

当我想要传入的对象是父组件的某些属性时,我只需在父组件上提供一个属性名称即可。

但是,如果我想传递父组件实例本身而不是它的属性之一怎么办?怎么办?

在某些情况下,它不是父组件实例,而是其属性之一,因此我希望能够在绑定(bind)中指定,而不是始终引用父组件。

在 KnockoutJs 中,我可以使用 $data、$root 来引用绑定(bind)上下文。 Angular 中有类似的概念吗?

最佳答案

在主机的 html 中

<app-details [item]="whatGoeHere" key="firstName" [context]="this"></app-details>

并在组件内部定义输入属性

export class DetailsComponent implements OnInit{

@Input() item: any;
@Input() key: string;
@Input() context;

ngInit(){
if(this.item && this.item.isYummy){
....
}
}
...
}

关于angular - 如何通过 @Input() 将父组件传递到 Angular 7 中的子组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155334/

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