作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想在我的组件中显示不同的模板。只有一个会显示。如果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>
最佳答案
您可以将 ng-content
包装在 ng-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>
另见
关于javascript - 如何在 Angular 2 的同一组件中使用多个 ng-content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44699469/
我是一名优秀的程序员,十分优秀!