Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在同一模板中有两个ng内容由*ngIf控制_Angularjs_Twitter Bootstrap_Twitter Bootstrap 3_Angular_Angular2 Components - Fatal编程技术网

Angularjs 如何在同一模板中有两个ng内容由*ngIf控制

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>

我有一个角度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="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内容周围的一切。我会试试看,我真的希望保持它的消费方式。谢谢。没问题,很高兴我能帮忙!:)