Angularjs 如何在同一模板中有两个ng内容由*ngIf控制
我有一个角度2组件用于显示引导3按钮组。组件可以有标签,也可以独立 我的解决方案是使用由*ngIf控制的两个ng内容,但是,它拒绝显示任何一个ng内容,并且不会抛出错误 以下是btn-multi.html:Angularjs 如何在同一模板中有两个ng内容由*ngIf控制,angularjs,twitter-bootstrap,twitter-bootstrap-3,angular,angular2-components,Angularjs,Twitter Bootstrap,Twitter Bootstrap 3,Angular,Angular2 Components,我有一个角度2组件用于显示引导3按钮组。组件可以有标签,也可以独立 我的解决方案是使用由*ngIf控制的两个ng内容,但是,它拒绝显示任何一个ng内容,并且不会抛出错误 以下是btn-multi.html: <div class="form-group" *ngIf="label"> <label class="control-label col-lg-2 col-md-3"> {{ label }} </label>
<div class="form-group"
*ngIf="label">
<label class="control-label col-lg-2 col-md-3">
{{ label }}
</label>
<div class="col-lg-10 col-md-9">
<div class="btn-group">
<ng-content></ng-content>
</div>
</div>
</div>
<div class="btn-group"
*ngIf="!label">
<ng-content></ng-content>
</div>
{{label}}
下面是它的使用方法:
<btn-multi label="Some Label"
[(value)]="someValue">
<btn [value]="true">Yes</btn>
<btn [value]="false">No</btn>
</btn-multi>
对
不
这就是它只处理一个ng内容:
我目前在angular 2 beta-15上
谢谢
NgIf
妨碍了包含内容,因为在评估NgIf
后,将呈现ng内容
你需要采取另一种方法,可能是这样的:
<div [ngClass]="{'form-group': label}">
<label *ngIf="label" class="control-label col-lg-2 col-md-3">
{{ label }}
</label>
<div [ngClass]="{'col-lg-10 col-md-9': label}">
<div class="btn-group">
<ng-content></ng-content>
</div>
</div>
</div>
{{label}}
还有更好的方法,这完全取决于您希望如何使用该组件
仅供参考,我只是在飞行中做了这个,所以它没有经过测试,只是为了给你一个大概的想法。是的,我只是想我最终必须控制一个ng内容周围的一切。我会试试看,我真的希望保持它的消费方式。谢谢。没问题,很高兴我能帮忙!:)