ng-template - typed variable

Discussão em 'Angular' iniciado por ssuperczynski, Novembro 4, 2024.

  1. How can parent component recognise type of let-content which comes from ngTemplateOutletContext? Now {{content.type}} works correctly, but IDE says:


    unresolved variable type
    ​

    How can I type it as Video?

    parent.component.ts:

    export interface Video {
    id: number;
    duration: number;
    type: string;
    }

    public videos: Video = [{id: 1, duration: 30, type: 'documentary'}];


    parent.component.html:

    <ul>
    <li *ngFor="let video of videos">
    <tile [bodyTemplate]="tileTemplate" [content]="video"></app-card>
    </li>
    </ul>

    <ng-template #tileTemplate let-content>
    <h5 class="tile__type">{{content.type}}</h5>
    </ng-template>


    tile.component.ts:

    @Component({
    selector: 'tile',
    templateUrl: './tile.component.html',
    styleUrls: ['./tile.component.scss'],
    changeDetection: ChangeDetectionStrategy.OnPush,
    })
    export class CardComponent {
    @Input() tileTemplate: TemplateRef<any>;
    @Input() content: Video;
    }


    tile.component.html:

    <div
    ...
    <ng-container
    [ngTemplateOutlet]="tileTemplate"
    [ngTemplateOutletContext]="{ $implicit: content }">
    </ng-container>
    ...
    </div>

    Continue reading...

Compartilhe esta Página