我一直在試圖爲此找到一個解決方案。帶動態模板或模板的角度2/4組件UIr
我有一個項目有不同的'皮膚',它們基本上是不同的模板/ 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);
}
}
非常感謝這一點。我認爲現在我的問題是編譯模板時,webpack抱怨...我需要找到一種解決方法... – millerf
剛剛嘗試了新的Angular cli項目,它可以很好地使用webpack。你使用什麼構建過程? –
我使用離子樣板。它抱怨,當我把一個變量在模板路徑(見我的代碼THEME_DIR),因爲它似乎沒有找到正確的路徑 – millerf