Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
在angular4中使用ngFor时,如何根据值选择HTML?_Angular_Ngfor_Angular Ng If - Fatal编程技术网

在angular4中使用ngFor时,如何根据值选择HTML?

在angular4中使用ngFor时,如何根据值选择HTML?,angular,ngfor,angular-ng-if,Angular,Ngfor,Angular Ng If,我对angular很陌生,假设我有一个这样的值数组 domElement:Array<boolean>=[true,false,false,false,false,true,true,true]; domeElement:Array=[true,false,false,false,true,true,true]; 在使用ngFor时,我想用不同的html表示真值,用不同的html表示假值,我遵循了这一点并实现了这一点,但它不起作用 即 找不到值-没有记录的虚拟元素!!! 有价值

我对angular很陌生,假设我有一个这样的值数组

domElement:Array<boolean>=[true,false,false,false,false,true,true,true];
domeElement:Array=[true,false,false,false,true,true,true];
在使用ngFor时,我想用不同的html表示真值,用不同的html表示假值,我遵循了这一点并实现了这一点,但它不起作用


找不到值-没有记录的虚拟元素!!!
有价值!!!

这就是你要找的吗

<div *ngFor="let n of num">
    <template1 *ngIf="n%2 === 0"></template1>
    <template2 *ngIf="n%2 !== 0"></template2>
</div>

这就是你要找的吗

<div *ngFor="let n of num">
    <template1 *ngIf="n%2 === 0"></template1>
    <template2 *ngIf="n%2 !== 0"></template2>
</div>

我猜您使用相同的名称定义了两个不同的块。代码中没有#gotValue块。请尝试以下方法:

<div *ngFor="let n of domElement">
    <ng-template *ngIf="n; then noValue else gotValue"></ng-template>
    <ng-template #noValue>
        <div class="alert alert-warning">
            no value found - dummy element for no record !!!
        </div>
    </ng-template>
    <ng-template #gotValue>
        <div class="alert alert-success">
            got values !!!
        </div>
    </ng-template>
</div>

找不到值-没有记录的虚拟元素!!!
有价值!!!

我猜您使用相同的名称定义了两个不同的块。代码中没有#gotValue块。请尝试以下方法:

<div *ngFor="let n of domElement">
    <ng-template *ngIf="n; then noValue else gotValue"></ng-template>
    <ng-template #noValue>
        <div class="alert alert-warning">
            no value found - dummy element for no record !!!
        </div>
    </ng-template>
    <ng-template #gotValue>
        <div class="alert alert-success">
            got values !!!
        </div>
    </ng-template>
</div>

找不到值-没有记录的虚拟元素!!!
有价值!!!
  • 如果您只想为两个特定案例场景使用不同的代码,则必须使用*ngIf/else*ngIf/then/else
    
    

  • 如果您的代码没有更改,并且唯一更改的是样式设置,那么最好使用一个通用组件,通过ng class指令替换样式

  • 如果您只想为两个特定案例场景使用不同的代码,则必须使用*ngIf/else*ngIf/then/else
    
    

  • 如果您的代码没有更改,并且唯一更改的是样式设置,那么最好使用一个通用组件,通过ng class指令替换样式

  • ..

    
    找不到值-没有记录的虚拟元素!!!
    有价值!!!
    

    您不需要noValue ng模板。这对我有用。希望能有所帮助。

    
    找不到值-没有记录的虚拟元素!!!
    有价值!!!
    


    您不需要noValue ng模板。这对我有用。希望能有所帮助。

    我尝试实现此功能,但无论值是多少,我都会显示,请查看我的更新问题,谢谢。如果我的新实现不适用于您,请与我们共享组件代码。这可能是导致n等于'undefined'的原因,这意味着if子句将自动将您重定向到false块。我尝试实现这一点,但无论值是多少,我始终会得到显示的值,请查看我更新的问题,如果我的新实现不适用于您,谢谢,那么请与我们分享组件代码。它可能导致n等于“未定义”,这意味着if子句将自动将您重定向到false块。