如何在Angular 2的同一组件中使用多个ng-content?

斯特菲

我想在组件中显示其他模板。只有一个会显示。如果hasURL是的话true,我想展示一下<a></a>如果hasURL是的话false,我想展示一下<button></button>

问题是,如果hasURL为false,则显示组件按钮,但是ng-content为空。因为它已经在第一个“a></a>

有办法解决这个问题吗?

        <a class="bouton" href="{{ href }}" *ngIf="hasURL">
            <ng-content>
            </ng-content>
        </a>

        <button class="bouton" *ngIf="!hasURL">
            <ng-content>
            </ng-content>    
        </button>
yurzui :

你可以用ng-contentng-template与使用ngTemplateOutlet

<a class="bouton" href="{{ href }}" *ngIf="hasURL">
    <ng-container *ngTemplateOutlet="contentTpl"></ng-container>
</a>

<button class="bouton" *ngIf="!hasURL">
    <ng-container *ngTemplateOutlet="contentTpl"></ng-container> 
</button>
<ng-template #contentTpl><ng-content></ng-content></ng-template>

柱塞示例

也可以看看

Angular 9演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在同一页面中多次使用AngularJS 2组件?

如何使用ng2-dragula拖放到多个Angular2组件

如何在Angular材质设计中使md Content可滚动

有没有办法在Angular2组件内的ng-content中使用CSS?

动态创建具有ng-content的angular2组件

Angular 2:同一组件中的多个HTML页面

当在同一组件上时,如何在路由更改时刷新组件?

如何在同一组件模板属性中调用Vue Js组件方法?

使用react-apollo,如何使用TypeScript在同一组件中定义2个突变?

如何在同一组件中定义两个管道

如何在Angular 6中使用同一组件的多个实例?

使用Angular 2路由器将不同的值传递给同一组件

如何在Angular 1.5组件中使用ng-options?

如何在同一组件内的回调中在ReactJS中调用函数?

当两次使用同一组件时如何避免多个http请求

角度8:如何为同一组件的多个实例提供不同的服务实例

如何使用react和typescript在同一组件文件中使用上下文?

如何在同一组件中多次使用自定义组件

如何在Spring Framework中为同一组件提供多个名称?

如何从同一组件分派多个动作?

如何在同一组件中注入不同的服务令牌?

如何在Angular 2中使用同一文件中的组件?

如何使用ReactJS在同一组件内调用组件的属性?

如何在 Ember 中的同一组件上编辑待办事项任务

如何在同一组件中使用 react-redux 控制加载标志?

Angular 8:在同一组件中使用两个外部 angular 包 - moment.js

Angular - 如何在 ng-content 中设置 Class 的样式?

如何在Vue的同一组件中调用模板

如何在 ReactJS 中制作可重用的下拉过滤器,它是 DRY 并且可以在同一组件中使用两次