Javascript Angular2或表达式奇怪的结果

Javascript Angular2或表达式奇怪的结果,javascript,angular,logical-operators,Javascript,Angular,Logical Operators,我正在使用Angular2,我有两个布尔值:隐藏、折叠。我正在打印它们和它们的或表达式。这些产出是: {{ hidden }} {{ collapsed }} {{ hidden || collapsed }} false false false true false true false true false 当其中一个为真时,

我正在使用Angular2,我有两个布尔值:隐藏、折叠。我正在打印它们和它们的或表达式。这些产出是:

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

    false          false              false
     true          false               true
    false           true              false
当其中一个为真时,我期望为“真”,但如果第一个为“假”,第二个为“真”,则为“假”。我使用OR运算符是否错误?这里有什么问题

编辑:我尝试了“false&&true”,它给出了“true”

请尝试以下操作:

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

尝试以下操作:

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

我也遇到了同样的问题,t&f变成了现实! 我发现我从html中注入的@Input必须带有括号[]。 假设您的传递隐藏在html标记中,那么它应该是:

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


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

我也遇到了同样的问题,t&&f变成了真! 我发现我从html中注入的@Input必须带有括号[]。 假设您的传递隐藏在html标记中,那么它应该是:

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


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

我无法复制它。这是我代码的一部分:{{hide}{{collapsed}{{(hide&&collapsed)}{{{hide | | collapsed}}在视图中:false-true-false是
隐藏的
折叠的
实际上是布尔值,还是在表达式中使用时转换为
true
false
的值?它按预期工作:您确定变量是布尔值吗?我无法复制它。这是我代码的一部分:{{hide}{{collapsed}{{(hide&&collapsed)}{{{hide | | collapsed}}在视图中:false-true-false是
隐藏的
折叠的
实际上是布尔值,还是在表达式中使用时转换为
true
false
的值?它按预期工作:您确定变量是布尔值吗?它显示为隐藏字符串。但我声明它为布尔值,并在父级中给它布尔值。为什么是一根绳子?我不明白,但我把它修好了:)谢谢<代码>隐藏:布尔值仅在编译时有效。它只是javascript上的typescript包装器。在运行时,您可以使用此属性的任何值,因为它是javascript),它显示为隐藏字符串。但我声明它为布尔值,并在父级中给它布尔值。为什么是一根绳子?我不明白,但我把它修好了:)谢谢<代码>隐藏:布尔值仅在编译时有效。它只是javascript上的typescript包装器。在运行时,您可以对此属性使用任何值,因为它是javascript)