Dynamic components

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π΅ всСгда обязаны Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π»Π΅Ρ‚Ρƒ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Anchor directive

// src/app/ad.directive.ts
import { Directive, ViewContainerRef } from '@angular/core';

@Directive({
  selector: '[adHost]',
})
export class AdDirective {
  constructor(public viewContainerRef: ViewContainerRef) { }
}

Π˜Π½ΠΆΠ΅ΠΊΡ‚ΠΈΠΌ ViewContainerRef для доступа ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. @Directive Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Ρ€Π΅Π·Π΅Ρ€Π²Π²ΠΈΡ€ΡƒΠ΅Ρ‚ имя сСлСктора.

Loading components

// src/app/ad-banner.component.ts
...
    template: `
    <ng-template adHost></ng-template>
    `
...

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <ng-template> ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для динамичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚ΠΊ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΏ Π΄Π°Π½Π½Ρ‹Π΅

...

ΠšΠΎΡ€ΠΎΡ‡ Π½Π°Π΄ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ https://angular.io/guide/dynamic-component-loader

Last updated