2017-05-26 10 views
1

私のアプリには、リッチテキストエディター(froala)からユーザーが投稿したコンテンツがあり、コンテンツには別のページへの内部参照が含まれている可能性があります。私は別のものを開くのではなく、ページを切り替えるようなルーターリンクを作るのが好きです。しかし、innerHtmlとfroalaViewの両方のディレクティブとして動作していません。Htmlコンテンツでコーナールーラーリンクが動作しない

+0

を持っている人のためのwannaaシェアで、それは私自身の解決? – echonax

+0

レッツは 'てみましょうHTML = '

some message Link
' のような私は、いくつかのHTMLを持っていると言う;' 、コンポーネントのhtml ''
ルータリンク文句を言わない作業に – ChrisC

答えて

0

私は最終的に他の人への参照、あなたのコードがどのように見えるんどのような同じ質問

@ViewChild('articleContent', {read: ViewContainerRef}) 
articleContentRef: ViewContainerRef; 
private injector: Injector; 

constructor(
injector: Injector, 
private compiler: Compiler, 
) { 
this.injector = ReflectiveInjector.resolveAndCreate(COMPILER_PROVIDERS, injector); 
this.compiler = this.injector.get(Compiler);   
this.init();  
} 

init() { 
const compMetadata = new Component({ 
    selector: 'article-content', 
    template: this.article.content, 
});       
const cmpClass = class DynamicComponent { }; 
const decoratedCmp = Component(compMetadata)(cmpClass);   

const moduleMetaData = new NgModule({ 
    imports: [CommonModule, RouterModule], declarations: [decoratedCmp], entryComponents: [decoratedCmp] 
}); 
const cmpModule = class DynamicHtmlModule { }; 
const decoratedModule = NgModule(moduleMetaData)(cmpModule); 

const moduleFactory: NgModuleFactory<any> = this.compiler.compileModuleSync(decoratedModule); 
const moduleRef: NgModuleRef<any> = moduleFactory.create(this.injector); 

const injector = moduleRef.injector; 

this.componentRef = this.articleContentRef.createComponent<any>(
    injector.get(ComponentFactoryResolver).resolveComponentFactory(decoratedCmp), 
    0, 
    injector);    
} 
関連する問題