【发布时间】:2018-01-04 17:00:11
【问题描述】:
我一直在尝试到处寻找解决方案。
我有一个具有不同“皮肤”的项目,它们基本上是不同的模板/Css 集。
我正在尝试让我的组件使用基于变量 THEME_DIR 的皮肤。
不幸的是,我找不到如何实现这一点。我在 angular.io 上查看了Dynamic Component Loader,但没有成功。
我也在这里看了一些答案,也没有成功。
有人有想法吗?
这是我迄今为止尝试过的:
import { ComponentFactoryResolver, ViewContainerRef } from '@angular/core';
// @Component({
// templateUrl: '../../assets/theme/'+THEME_DIR+'/login.template.html',
// })
export class LoginComponent implements, AfterViewInit {
private log = Log.create('LoginPage');
constructor(private mzksLsRequestService: MzkLsRequestService,
private componentFactoryResolver: ComponentFactoryResolver,
public viewContainerRef: ViewContainerRef) {
}
ngAfterViewInit() {
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(new Component({
templateUrl: '../../assets/theme/default/login.template.html',
}));
let viewContainerRef = this.viewContainerRef;
viewContainerRef.clear();
let componentRef = viewContainerRef.createComponent(componentFactory);
}
}
【问题讨论】:
标签: angular typescript themes