首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ngif验证空案例

使用ngif验证空案例
EN

Stack Overflow用户
提问于 2017-07-18 23:43:08
回答 1查看 123关注 0票数 0

我正面临着一些问题,我不确定我是否能做到这一点。我想从Json键获得一个嵌套的ngIf。如果键存在,则显示黑色的img并将对象写入到视图的键中,如果Json键不存在,则不写入任何内容(逻辑)并显示灰色的img。我想代码会更好地解释它:

代码语言:javascript
复制
    <div *ngFor="let user of userService.users | async">
           <div *ngIf="user?.data.apps.?tag as myEmpytag">
               <img *ngIf="myEmptytag === empty(so the Json key doesn't exist)" src="greyTag.png"/>
           </div>
           <div *ngIf="user?.data.apps.?tag as myFulltag">
              <div *ngIf="myFulltag === 'something is write(so the Json key is there)">
                <span class="tag3" *ngFor="let user4 of userService4.users4 | async">{{user4.data.incidents[2].tag}}</span>
                <img src="blacktag.png"/>
             </div>
     </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-19 00:05:46

你的代码中有太多的*ngIf。你只需要一个*ngIf和一个else模板来做你想要做的事情。简单地检查一下!user.data.apps.tag就足够了。如果值为null、undefined、0或"",则否定断言为true。

代码语言:javascript
复制
<div *ngFor="let user of userService.users | async">
    <img *ngIf="!user.data.apps.tag; else elseBlock" src="greyTag.png"/>
    <ng-template #elseBlock>
        <span class="tag3" *ngFor="let user4 of userService4.users4 | async">{{user4.data.incidents[2].tag}}</span>
        <img src="blacktag.png"/>
    </ng-template>
</div>

如果需要编写更复杂的if语句,那么可以在组件中创建一个函数,并在*ngIf中调用它来处理断言,以避免令人费解的HTML语句。

代码语言:javascript
复制
*ngIf="myAssertFunction(user)"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45171513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档