javascript - Angular 2 : how to iterate through templates

标签 javascript angular typescript


所以我得到了这些组件,B类和C类具有不同的模板,如下所示。

@Component({})
export abstract class A {}

@Component({
    template: `BBBBBB`
})
export class B extends A{}

@Component({
    template: `CCCCCC`
})
export class C extends A{}

在我的主要组件中,我需要迭代 A 数组,并将其模板插入 HTML。

@Component({
    template: `
    <div>
    ...???...
    </div>
    `
})

export class MrModul {
    anArray: A[] = Array();
    constructor(){
        ...
        //filling up the Array
        ...
    }
}

所以我需要用“???”来填充这个地方使用适当的模板,当我迭代数组时,但我真的不知道如何。如果我使用选择器,我真的不知道该使用什么选择器。但是如果我使用 *ngFor 我不知道应该使用什么属性。
你们能帮我吗?谢谢!

奖金信息: 我们的目标是拥有像小部件系统这样的东西。您可以选择并添加随机类型的(我们称之为)小部件,它们将被放入一个新的 div 中。这就是数组的用途,用于存储新的小部件。

最佳答案

<ng-content *ngFor="let item of anArray">
  <my-a *ngIf="item.compo == 'a'></my-a>
  <my-b *ngIf="item.compo == 'b'></my-b>
  <my-c *ngIf="item.compo == 'c'></my-b>
</ng-content>

关于javascript - Angular 2 : how to iterate through templates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623375/

相关文章:

javascript - AngularJs 如何将数据从一个 Controller 传递到另一个 Controller

angular - 如何在 Angular 2 应用程序中显示 SSRS 报告

Angular 2复选框选中所有

javascript - 删除 Angular 7 中的项目后如何更新过滤后的数组?

typescript - 无法在 .ts 文件中获取 VS Code Stylelint 扩展到 lint

javascript - 将参数传递给 angularjs $q 中 promise 的成功回调

javascript - 更改导航栏中的事件类别

javascript - 制作一个图像 slider ,每 6 秒更改一次图像

angular - 仅参数更改时,Angular 4 中的 routerLinkActive 不添加类

javascript - 仅使用 typescript(没有 webpack 也没有 bable),我可以获得在浏览器中运行的多文件解决方案吗?