我正在經歷the Angular 2 documentation,發現如下:div中的[hidden]與使用ng-show之間的區別是什麼?
<div [hidden]="name.valid || name.pristine"
class="alert alert-danger">
上有[hidden]
部分沒有解釋。它是HTML屬性,CSS還是Angular?爲什麼不使用ng-show
?
我正在經歷the Angular 2 documentation,發現如下:div中的[hidden]與使用ng-show之間的區別是什麼?
<div [hidden]="name.valid || name.pristine"
class="alert alert-danger">
上有[hidden]
部分沒有解釋。它是HTML屬性,CSS還是Angular?爲什麼不使用ng-show
?
ng-show
不再存在是angular1的歷史目前還不清楚。在沒有hidden
屬性(標準HTML,它可用starting from ie11)之前,所有的標準屬性都被一些類似的角色指令所覆蓋,這些指令正在做這些事情。
這是一個問題,因爲它迫使有角度的程序員學習大量的指令。
Angular2的想法是刪除所有不必要的指令,而ng-show
就是其中之一。相反,angular2引入了一個屬性綁定[hidden]
,它執行相同的工作。
所以答案是:這是angular2屬性綁定使用的標準HTML屬性。
hidden
是a global HTML attribute。方括號表示property binding。因此
[hidden]="name.valid || name.pristine"
裝置「隱藏屬性應用到該元素如果指定的控制或者是有效或原始」。然後瀏覽器將呈現它,但是與display: none
。
您也可以使用*ngIf
完全從渲染的DOM中移除元素,請參閱this answer作比較。
爲什麼你引用ng-show
,這是折角1份和2
因爲ng2 show在angular2中不存在? – smnbbrv
'[hidden] =「...」'只是單向綁定[HTML隱藏屬性](https://developer.mozilla.org/en/docs/Web/HTML/Global_attributes/hidden)。 – jonrsharpe
仍然不回答[隱藏]的問題? –