angular - Angular - 动态实例化组件,等待其初始化并获取其 HTML
问题描述
我使用外部依赖项(ng2-table)来显示一个可以过滤和排序的简单表。
该库接受 HTML 字符串作为单元组件。我想提供我在应用程序其他地方使用的组件的 HTML。
我尝试使用 ResolverComponentFactory 创建组件,并为组件提供填充 HTML 所需的数据,然后使用 outerHTML 作为组件的 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 之一)。
我知道我可以使用函数创建相同的字符串,但是当我在应用程序的不同部分重复使用相同的模板时,能够使用该组件真的很棒。
我也知道我试图实现一些棘手且不是很干净的事情,但我试图对我所拥有的做出最好的妥协。
解决方案
推荐阅读
- python - 如何使用 Google 的视觉 API 从单个调用中注释多个图像?Python
- wpf - WPF 在不填充容器的情况下动态缩放 TextBlock 文本
- cordova - 是否有任何 Cordova 面部识别插件或 API 来识别设备所有者?
- powerbi - 如何在 Power BI 中将仪表板导出为 Excel 报表
- jquery - jQuery - 删除以前的隐藏输入
- javascript - 怎么做搜索字段,它通过 html alt 属性找到图像
- c# - 如何从另一个 MDI 子窗体打开 MDI 子窗体
- laravel - 为什么我在 Laravel 中的 getKey() 方法后收到 Null 返回
- javascript - Safari没有在css动画上方重新绘制元素
- c++ - Code Runner 使用 MSVC 创建过长的字符串