2014-11-07 37 views
1

我想要一個if語句來確定一個元素是否被添加到DOM中。但是由於ngIf是一個屬性,它必須附加到一個元素上,並且該元素總是被添加到DOM,即使它的計算結果爲false。如何在AngularJS中不包含ngIf所附的元素?

有沒有另一種方法在Angular中做到這一點?

回答

0

ng-if,當評估爲false時,確實會從DOM中刪除該元素及其所有子元素,處理程序等。

如果表達式爲false,您擔心DOM中的元素仍然存在,發生在ng-show/ng-hide。 (不是ng-if)。

您可以對此進行簡單測試。創建一個包含ng-if="false"的網頁,並嘗試使用getElementById或jQuery的$("#someId"),您將無法從這些選擇器中獲得所需的元素。

如需進一步解釋,請致電When to favor ng-if vs. ng-show/ng-hide?

+0

我犯的經典錯誤。我使用的是ngIf而不是ng-if – Chad 2014-11-07 18:04:19

相關問題