首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与ngIf绑定

与ngIf绑定
EN

Stack Overflow用户
提问于 2019-02-19 08:04:05
回答 6查看 2.5K关注 0票数 2

我试图根据*ngIf中提到的条件绑定值。当我尝试&&操作员在里面*ngIf,它神秘地工作。

代码语言:javascript
复制
       <div *ngIf="days.sunday == true">
          <p class="circle ml-3">Sun</p>
        </div>
        <div *ngIf="days.monday == true">
          <p class="circle ml-2">Mon</p>
        </div>
        <div *ngIf="days.tuesday == true">
          <p class="circle ml-2">Tue</p>
        </div>
        <div *ngIf="days.wednesday == true">
          <p class="circle ml-2">Wed</p>
        </div>
        <div *ngIf="days.thursday == true">
          <p class="circle ml-2">Thu</p>
        </div>
        <div *ngIf="days.friday == true">
          <p class="circle ml-2">Fri</p>
        </div>
        <div *ngIf="days.saturday == true">
          <p class="circle ml-2">Sat</p>
        </div>

以上条件正常工作。我可以相应地打印这些值。

代码语言:javascript
复制
   <div *ngIf="days.sunday == true && days.monday == true  && days.tuesday  == true && days.wednesday  == true && 
   days.thursday  == true && days.friday == true &&  days.saturday == true">
            <p class="circle ml-2">Everyday</p>
                </div>

从上述条件出发,如果所有条件都是正确的,我正在尝试打印Everyday,但我正在打印孙蒙与清华星期五的

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-02-19 08:19:39

使用如果/或模板

  • 检查是否所有的日子都是真实的。然后只打印Everyday
  • other 根据他们的情况打印其他日子
代码语言:javascript
复制
<!-- If block for "Everyday" -->
<div *ngIf="days.sunday && days.monday && days.tuesday && days.wednesday && 
   days.thursday && days.friday && days.saturday; else elseBlock">
    <p class=" circle ml-2 ">Everyday</p>
</div>

<!-- Else block for other days "Sun, Mon, etc..." -->
<ng-template #elseBlock>
    <div *ngIf="days.sunday">
        <p class="circle ml-3">Sun</p>
    </div>
    <div *ngIf="days.monday">
        <p class="circle ml-2">Mon</p>
    </div>
    <div *ngIf="days.tuesday">
        <p class="circle ml-2">Tue</p>
    </div>
    <div *ngIf="days.wednesday">
        <p class="circle ml-2">Wed</p>
    </div>
    <div *ngIf="days.thursday">
        <p class="circle ml-2">Thu</p>
    </div>
    <div *ngIf="days.friday">
        <p class="circle ml-2">Fri</p>
    </div>
    <div *ngIf="days.saturday">
        <p class="circle ml-2">Sat</p>
    </div>
</ng-template>

备注

days.sunday === truedays.sunday等价,因为它是一个布尔值

票数 2
EN

Stack Overflow用户

发布于 2019-02-19 08:08:06

在给定的条件下,你必须对每一天都做同样的事情,就像你每天做的一样。

代码语言:javascript
复制
<div *ngIf="days.sunday == true && days.monday == false && days.tuesday == false &&
days.wednesday == false && days.thursday == false && days.friday == false &&
days.saturday == false">
  <p class="circle ml-3">Sun</p>
</div>
...
票数 1
EN

Stack Overflow用户

发布于 2019-02-19 08:19:13

*ngIf并不会自动附带“”。因此,如果每个条件计算为真,那么它将进入每个分支。

如果你不想这样做,那么你需要重写你的条件。

这种行为并不是特殊的,对于*,如果和角质。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54761347

复制
相关文章

相似问题

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