boo*_*oot 2 typescript angular
我发现!:在Angular Deprecation文档中使用了表示法。
@Input() tpl !: TemplateRef<any>;
@ContentChild(TemplateRef) inlineTemplate !: TemplateRef<any>;
Run Code Online (Sandbox Code Playgroud)
@Input() id !: string;
Run Code Online (Sandbox Code Playgroud)
我不确定!:Angular中表示法的术语(或背后的概念)是什么。谷歌搜索对我没有多大帮助。尝试使用SymbolHound和Angular Docs相同,但都徒劳。
如果有人可以阐明它的功能(例如它的功能)或至少共享doc链接,这将很有帮助。
Pac*_*ace 25
如果你有strictNullChecks,那么你装饰的任何东西@Input通常都会抱怨。例如...
public class MyComponent {
@Input()
public myField: string;
constructor() {}
}
Run Code Online (Sandbox Code Playgroud)
这会导致TS抱怨。这是因为myField尚未声明为可为空,因此不应将其设置为nullor undefined。同时,它在构造函数中没有被初始化,所以它会得到一个初始值undefined。
通常,这很好。我们知道 Angular 会在构建后不久设置该值。如果我们将字段标记为可空,public myField: string?那么this field may be null当我们尝试使用它时,我们将不得不到处处理错误。
因此,作为妥协,我们!在字段声明上抛出一个,以告诉 Typescript “我知道这看起来像是被初始化为 null/undefined 但相信我,我会处理它”。
感叹号!表明该字段是非null非不确定的(请参阅Microsoft的TypeScript文档)。
冒号:只是字段名称和类型之间的分隔符。
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |