#angular #typescript
Вопрос:
Возможно ли сделать что-то подобное?
fruits = {
orange: @Input() as any //gives an error
}
Или это единственный выход?
@Input() orange!:any;
fruits = {
orange:this.orange
}
Комментарии:
1. Это декоратор. Он не предназначен для такого использования.
Ответ №1:
Я понятия не имею, чего вы пытаетесь достичь. Но ответ-да, вы можете делать то, что пытаетесь сделать.
Фруктовый Компонент
@Component({
selector: 'fruit',
template: `{{fruits | json}}`,
styles: [`h1 { font-family: Lato; }`]
})
export class FruitComponent {
@Input() fruits: any;
}
Оранжевый компонент
@Component({
selector: 'orange',
template: `
<fruit [fruits]="fruits"></fruit>
`
})
export class OrangeComponent implements OnInit {
@Input() orange: any;
fruits: any;
ngOnInit(): void {
this.fruits = {
orange: this.orange
};
}
}
Компонент вызывающего абонента
<orange orange="some Value"></orange>