【发布时间】:2017-03-16 21:15:07
【问题描述】:
我正在 Angular2 中开发一个新应用程序,我需要在我的应用程序上动态加载一些 8 个控件(网格、图表、日历等)。我能够动态加载所有这些控件。但我的要求是以特定方式显示它们,例如每行两个控件,这是我无法做到的。目前所有控件都已加载,但都在一列中,一列低于另一列。
下面的代码显示了我如何获得小工具列表以及如何使用 viewContainerRef 将其添加到组件中。但我无法控制这些组件的显示位置。
for (let gadget of gadgets) {
this.userService.getGadgetsData(gadget.Id).subscribe(gadgetsData => {
switch (gadget.Name) {
case "PieChart":
this.donughtChartData = gadgetsData.Data.Issues.map((v: any) => ({
category: v.Values[0].Value,
value: v.Values[2].Value,
}));
const factory = this.componentFactoryResolver.resolveComponentFactory(DonutComponent);
const ref = this.viewContainerRef.createComponent(factory);
ref.instance.donutchartData = this.donughtChartData;
ref.changeDetectorRef.detectChanges();
break;
【问题讨论】:
-
向我们展示您迄今为止所做的工作,以便我们为您提供帮助
-
我已经用一些代码更新了这个问题。在这里,我能够动态获取所有组件并显示它们。但无法控制它们的显示方式。就像每行两个控件。
-
你的模板怎么样?
-
你是说控件的模板?
-
组件的模板