Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Html *ngIf指令中带else块的分号-角度_Html_Angular_Angular Ng If - Fatal编程技术网

Html *ngIf指令中带else块的分号-角度

Html *ngIf指令中带else块的分号-角度,html,angular,angular-ng-if,Html,Angular,Angular Ng If,最近,我使用了一个*ngIf指令和一个else块,并想知道为什么在示例中使用分号(内容在条件为真时渲染。),因为这似乎在没有分号的情况下也可以工作 不使用分号有什么副作用吗?或者这只是一种更简洁的编码方式?只有在使用“else”块时才需要分号。 所以 (不带分号)是不使用“else”时的规范形式,但(带分号)也有效, 当使用“else”时,是必需的形式 还有两个有趣的语法选项,我在仔细阅读之前没有意识到。深思熟虑 回顾过去,这是一个非常有趣的问题。实际的问题是是否按预期工作。但是也有,那么是什么

最近,我使用了一个
*ngIf
指令和一个else块,并想知道为什么在示例中使用分号(
内容在条件为真时渲染。
),因为这似乎在没有分号的情况下也可以工作


不使用分号有什么副作用吗?或者这只是一种更简洁的编码方式?

只有在使用“else”块时才需要分号。 所以
(不带分号)是不使用“else”时的规范形式,但
(带分号)也有效, 当使用“else”时,
是必需的形式


还有两个有趣的语法选项,我在仔细阅读之前没有意识到。

深思熟虑

回顾过去,这是一个非常有趣的问题。实际的问题是
是否按预期工作。但是
也有,那么是什么呢?分号到底需要什么

解释

事实证明,定义如何将
*ngIf
扩展为
[ngIf]
的角度规范非常灵活,最初很难掌握。官方报告没有深入讨论。我们可以找到一个很好的解释,并加以解释。解释的要点是microsyntax的定义是

*:prefix=“(:let |:表达式)(';'|',')?(:let |:as |:keyExp)*”

  • :前缀
    :HTML属性键
  • :key
    :HTML属性键
  • :local
    :模板中使用的局部变量名称
  • :导出
    :指令以给定名称导出的值
  • :表达式
    :标准角度表达式
  • :keyExp=:key”:“”:表达方式(“as”:本地)?“;”?
  • :let=“let”:local“=”:export”?
  • :as=:导出“as”:本地“?
分号似乎是可选的。此外,在我们的例子中,
else
块是一个关键表达式,可以看出冒号是可选的,我们目前没有使用它。所以理论上我们也可以使用
。因此,
ngFor
也可以不带分号使用。因此,下面的块也将起作用


{{n}}

工作示例:

它用于else块。然后,您可以编写
,以防
条件
失败。请看这里:我知道它用于else块。但我想知道为什么需要它,因为它似乎在没有分号的情况下也能工作。也许我的问题写得太模糊了。我将编辑我的问题。请注意,文档中没有分号。您所说的“使用'else'时是必需的表单”到底是什么意思?因为它在没有分号的情况下仍然有效。我不知道它在没有分号的情况下有效,谢谢。