我使用外部依赖项(ng2-table)来显示可以过滤和排序的简单表。
该库接受HTML字符串作为单元组件。我想提供我在应用程序中其他地方使用的组件的HTML。
我尝试使用ResolverComponentFactory创建组件,并为组件提供填充HTML所需的数据,然后将externalHTML用作组件的HTML。
const componentFactory = this._resolver.resolveComponentFactory(myComponent);
const component = componentFactory.create(this._injector);
component.instance.data = data;
const cellContent = component.instance.myElementRef.nativeElement.outerHTML;
我以为我需要等待ngContentInit钩子,但是由于未呈现组件,因此init不会追加(事件为ngOnInit)。
我知道我可以使用一个函数创建相同的字符串,但是当我在应用程序的不同部分中重复使用相同的模板时,能够使用该组件真的很不错。
我也知道我会尝试一些棘手的事情,但不是很干净,但是我会尽我所能来做出最大的妥协。