直奔主題,兩者的主要區別在於,元素(或組件,以下都稱為元素)相關聯的資源的加載時間的不同。
ngIf可以認為是一種緩加載。只有當判斷條件為真(true)時,元素才會進行加載並渲染。如果元素本身是比較復雜的組件時,就會進行與服務器間的資源請求。
而CSS的display屬性,不存在緩加載的情況。包含相關元素的DOM加載的時候就會從服務器請求相關資源。
所以,如果開發過程中需要用到緩加載,增加頁面初次加載時響應速度的時候,可以使用ngIf指令。如果需要預加載可以使用CSS的display屬性。