在DIV中[隐藏]和使用NG-Show之间有什么区别



我正在通过Angular 2文档,并找到了以下内容:

<div [hidden]="name.valid || name.pristine"
 class="alert alert-danger">

[hidden]部分没有任何解释。它是HTML属性,CSS还是Angular?为什么不使用ng-show

ng-show是Angular1的历史记录。在没有hidden属性(标准HTML,从IE11开始)之前,所有标准属性都涵盖了一些类似的Angular指令。

这是一个问题,因为它迫使角度程序员学习很多指令。

Angular2的想法是删除所有不必要的指令,而ng-show就是其中之一。相反,Angular2引入了绑定 [hidden]的属性。

所以答案是:这是Angular2属性绑定使用的标准HTML属性。

hidden是全局html属性。方括号表示属性绑定。因此

[hidden]="name.valid || name.pristine"

表示"如果指定的控件是有效的或原始的,则将隐藏属性应用于此元素" 。然后,浏览器将渲染,但使用display: none

您可以使用*ngIf完全从渲染的DOM中删除元素,例如此答案以进行比较。

目前尚不清楚为什么您引用ng-show,它是Angular 1的一部分,不再存在于2中。

最新更新