стили диманического компонента существуют даже после очистки его viewContainerRef, когда ViewEncapsulation.None - PullRequest
0 голосов
/ 30 января 2019

Я создал компонент для экрана печати в угловом 6. Режим инкапсуляции компонента печати установлен на None, поэтому я могу скрыть верхний и нижний колонтитулы.

@Component({
  selector: 'app-print',
  templateUrl: './app-print.component.html',
  styleUrls: ['./app-print.component.css'],
  encapsulation: ViewEncapsulation.None
})

Я загружаю его с динамическимзагрузка компонента.

constructor(private componentFactoryResolver: ComponentFactoryResolver) { }

loadComponent() {
    let adItem = new AdItem(HeroProfileComponent, { name: 'Bombasto', bio: 'Brave as they come' })

    let componentFactory = this.componentFactoryResolver.resolveComponentFactory(adItem.component);

    let viewContainerRef = this.PrintHost.viewContainerRef;
    viewContainerRef.clear();

    let componentRef = viewContainerRef.createComponent(componentFactory);
    (<PrintComponent>componentRef.instance).data = adItem.data;
  }

Загрузка компонента работает нормально, но когда я очищаю этот динамический компонент, его стиль все еще скрывает верхний и нижний колонтитулы.

   let viewContainerRef = this.PrintHost.viewContainerRef;
    viewContainerRef.clear();

Я использую функцию очистки для удалениякомпонент печати, как указано выше.Есть ли способ удалить стиль компонента, когда я очищаю компонент, как указано выше.

...