Asp.net mvc 如何在同一视图中放置多个组件/模板,并使用Angular2根据dropdownlist项选择要显示的组件/模板?

Asp.net mvc 如何在同一视图中放置多个组件/模板,并使用Angular2根据dropdownlist项选择要显示的组件/模板?,asp.net-mvc,angular,Asp.net Mvc,Angular,我正在开发ASP.NETMVC应用程序。 我当前的任务是使用基于所选dropdownlist项的模板更新其中一个视图。 整个视图就是剑道网格。在“选择添加新项目”或“编辑现有项目”上选择项目时,将出现一个弹出窗口。 该窗口顶部有一个dropdownlist,我需要做的就是根据所选dropdownlist项显示不同的模板(要填充的字段) 我想用角2来表示。我不确定这是否可以通过路由实现,因为我不需要为应用程序中的其他视图设置角度 所以我考虑使用多个组件,每个组件都指向不同的html模板。基于选定的

我正在开发ASP.NETMVC应用程序。 我当前的任务是使用基于所选dropdownlist项的模板更新其中一个视图。 整个视图就是剑道网格。在“选择添加新项目”或“编辑现有项目”上选择项目时,将出现一个弹出窗口。 该窗口顶部有一个dropdownlist,我需要做的就是根据所选dropdownlist项显示不同的模板(要填充的字段)

我想用角2来表示。我不确定这是否可以通过路由实现,因为我不需要为应用程序中的其他视图设置角度


所以我考虑使用多个组件,每个组件都指向不同的html模板。基于选定的dropdownlist项,我只需显示该组件并获取数据(用于编辑)

你认为这种方法有效吗?我想知道如何在同一视图中放置多个组件,并将显示样式绑定到选定的dropdownlist项


任何帮助都将不胜感激。

您可以通过以下不同方式实现此功能

<div [ngSwitch]="true">
    <div *ngSwitchCase="componentTag=='about'">
        <about></about>
    </div>
    <div *ngSwitchCase="componentTag=='qaDashboard'">
        <qaDashboard"></qaDashboard>
    </div>
</div>  
  • DynamicModule bind根据组件选择器加载动态组件

  • 使用

  • 使用下面的IF语句

    <div [ngSwitch]="true">
        <div *ngSwitchCase="componentTag=='about'">
            <about></about>
        </div>
        <div *ngSwitchCase="componentTag=='qaDashboard'">
            <qaDashboard"></qaDashboard>
        </div>
    </div>  
    
    
    
    太好了,谢谢。如果您的组件较少,那么最后一个选项的性能最好。在最后一个选项中,如何呈现“关于”、“qaDashboard”和其他组件的模板?我会将它们放在父组件中,但我不确定它们将如何呈现?根据选定的dropdownlist值,在值中绑定组件选择器,在最后一个选项中“componentTag”是组件的选择器。