即使在ViewEncapsulation.None清除viewContainerRef之后,仍存在动态组件样式

时间:2019-01-30 10:21:10

标签: angular typescript-typings angular-dynamic-components

我已经为角度为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();

我正在使用清除功能来删除上述打印组件。 当我如上所述清除组件时,有没有一种方法可以删除组件的样式。

0 个答案:

没有答案