Componente angular 2/4 com modelo dinâmico ou templateUrl

Eu tenho tentado encontrar uma solução para isso em todos os lugares.

Eu tenho um projeto com diferentes 'skins', que são basicamente diferentes conjuntos de modelos / CSS.

Estou tentando fazer com que meus componentes usem a capa com base em uma variável THEME_DIR.

Infelizmente, não consigo encontrar como fazer isso acontecer. Eu olhei para oCarregador de componente dinâmico no angular.io sem sucesso.

Também observei algumas respostas aqui sem sucesso.

Alguém tem alguma ideia?

Isto é o que eu tentei até agora:

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);

    }

}

questionAnswers(2)

yourAnswerToTheQuestion