formControl.value是什么意思?.length吗?

时间:2018-06-05 18:11:46

标签: angular

我理解它不是最好的帖子。但是我在材料多选自定义触发器示例中看到了这行代码。

*ngIf="toppings.value?.length > 1"  https://stackblitz.com/angular/omvmgjjbnnq?file=app%2Fselect-custom-trigger-example.html

我不明白"?"正在这里做,我甚至很难用谷歌搜索它可能是什么(谷歌不喜欢问号)。这是否允许您安全地调用value的属性,而无需检查是否已定义value或为空?

1 个答案:

答案 0 :(得分:3)

  

* ngIf =" toppings.value?。length> 1"

我将解释每个部分

  

* ngIf

如果表达式的计算结果为 false ,则条件指令会删除DOM元素。

  

浇头

是组件上的公共属性。

  

。价值

?变量的子属性。

  

。价值?。长度

如果toppings.value的值未定义length运算符会告知Angular停止计算表达式。这可以防止您undefined不属于*ngIf错误。

  

toppings.value?.length> 1

告知toppings.valuetoppings.value.length未定义1大于?时保留DOM元素。

安全导航操作员

这就是调用{{1}}标记的内容。

https://angular.io/guide/template-syntax#the-safe-navigation-operator----and-null-property-paths

这也是一个非常糟糕的名字,以及为什么你无法找到任何Google搜索结果。