在我们的应用程序中,我们有一个tortoisegit
,它有许多基于配置/权限/等的图块。这些"图块"可以根据用户偏好以任何顺序排列。
任务看似简单:
在模板中创建占位符,然后选择占位符并根据需要将组件注入/实例化到视图中
例如:
DashboardComponent
注意:A" Tile"是一流的@Component({
...,
template: `
<div class="container">
<div class="row">
<div #placeholder></div>
</div>
</div>
`
})
export class DashboardComponent{
constructor(private dashboardService: DashboardService){}
ngOnInit(): void{
// Get all tiles that should be displayed for this user in order
const tiles = this.dashboardService.getTiles();
// Inject / instantiate the components into the DasboardComponent at #placeholder
}
}
。例如,我有一个@Component
和一个ProfileTileComponent
。
我可以创建一个ArticlesTileComponent
但是如何告诉它将它放在DOM中的哪个位置?
我尝试使用ComponentFactory / ComponentResolver
抓取对#placeholder
的引用,但这似乎并没有给我正确的对象。
@ViewChild
似乎已弃用,所以我没有进一步了解。
@Query
似乎没有实例化组件
我非常确定这在Angular 2中是可行的,但是没有记录。
这是一个Angular2.0.0-rc.4应用程序。