angular - 角度组件工厂,防止 ngSwitch/if
问题描述
我有这段丑陋的代码:
<ng-container [ngSwitch]="filter.kind">
<p-select *ngSwitchCase="filterType.SelectboxFilter" [settings]="filter" > </p-select>
<p-autocomplete *ngSwitchCase="filterType.AutocompleteFilter" [settings]="filter" > </p-autocomplete>
<p-dropdown *ngSwitchCase="filterType.DropdownFilter" [settings]="filter"> </p-dropdown>
<p-special-autocomplete-filter *ngSwitchCase="filterType.SpecialFilter" [settings]="filter"> </p-special-autocomplete-filter>
<p-quantity-filter *ngSwitchCase="filterType.QuantityFilter" [settings]="filter"> </p-quantity-filter>
</ng-container>
例如,我搜索另一种方法来做到这一点 - 每个过滤器都将在这里保存组件。
有可能的?也许另一种方式?
解决方案
您可以改用 dynamic-component-loader -"ComponentFactoryResolver" 角度文档- 但实现起来并不容易
推荐阅读
- android-studio - 按钮没有开始新的意图
- json - 如何在 Ghost CMS 中配置通过 Mailgun 发送邮件?
- keras - CNN 模型在验证图像上的准确度为 0f 90%,但在相同的验证集上进行预测时,准确度几乎不到 5%
- java - Resilience4j 断路器属性强制打开
- python - 如何制作 pip 安装包数据(配置文件)?
- python-3.x - 使用 pandas 数据框对 for 循环进行矢量化
- r - 带有 stat_summary 的 ggplot 表示以天为单位的平均时间
- python - 如何在while循环上更新配置文件并同时从不同的脚本中获取值?
- php - 为什么 PHP 会将一些浮点数解析为奇怪的日期?
- css - 如何将 wordpress 后端编辑器主题变成主题?