【发布时间】:2019-11-28 17:32:33
【问题描述】:
此source code 具有以! 结尾的@Input 属性。这是一个例子:
@Input() token!:StripeToken
为什么在这种情况下使用! 很有用?一些 cmets 已经注意到它是一个非 null 断言运算符,但为什么在这种特定情况下拥有它是有用的(或者可能没用)?
我认为这个问题的答案是,对于 Angular @Input 属性在属性末尾具有非 null 断言的属性永远不会有意义,但我想看看你们其他人是怎么想的?
更新
我在一个新的 Angular 项目上尝试过,但出现了这个错误:
一个明确的赋值断言'!'在这种情况下是不允许的。ts(1255)
所以我认为在@Input 属性上包含! 运算符是没有意义的。截图如下:
【问题讨论】:
-
是的 - 好多了 - 谢谢!
-
不太确定为什么我们会在 Angular 上下文中使用它?为什么在 Angular @Input 字段上使用它?
-
在手册场景中它非常有意义,但我仍然不确定他们为什么将其添加到
@Input字段中。 Angular 中的用例总是假设这些不为空,并且我们没有收到任何编译错误?
标签: javascript angular typescript ecmascript-6