Angular2 OR表达奇怪的结果

时间:2016-09-05 10:52:45

标签: javascript angular logical-operators

我正在使用Angular2,我有两个布尔值:隐藏,折叠。我正在打印它们的OR表达式。输出是:

{{ hidden }}  {{ collapsed }} {{ hidden || collapsed }}

    false          false              false
     true          false               true
    false           true              false

当其中一个是真的时,我期望“真”,但如果第一个是“假”而第二个是“真”,它会给出“假”。我使用OR运算符错了吗?这里有什么问题?

编辑:我尝试了“假&& true”,它给出了“真实”

2 个答案:

答案 0 :(得分:0)

尝试以下方法:

<div>{{ type(hidden) }}  {{ type(collapsed) }}</div>
<div>{{ hidden }}  {{ collapsed }}</div>
<div>{{ hidden || collapsed }}</div>

并在您的组件中

type(prop) {
  return typeof prop;
}

Plunker

答案 1 :(得分:0)

我遇到了同样的问题,t&amp;&f已成为现实! 我发现从html注入的@Input必须是括号[]。 让我们说你从html标签隐藏传递,所以它应该是:

<app-input-user [hidden]="false"></app-input-user>

然后隐藏将始终是布尔值。您可以在OnInit()中查看它的类型,并查看:)