1. 程式人生 > >微信小程式條件渲染-- wx:if 與 hidden區別

微信小程式條件渲染-- wx:if 與 hidden區別

條件渲染 顧名思義所謂的條件渲染,就是通過條件來判斷是否需要渲染該程式碼塊。

條件渲染主要是用到wx:if 和 block wx:if 這兩個,

第一個相信好理解,第二個是在block裡面進行條件渲染,這裡我們特別說明一下< block/>並不是一個元件,它僅僅是一個包裝元素,不會在頁面中做任何渲染,只接受控制屬性。和我們以前的邏輯程式設計類似,既然有了wx:if ,那麼我們也會有wx:elseif和wx.else,這幾個組合起來,可以使條件渲染更加靈活。 在這裡官方文件中提到了一個wx:if和hidden的對比,通過合理的運用這兩種方法可以使你的程式更優。

下面我們就是說說他們倆的區別:

因為wx:if之中也可能包含資料繫結,所以當wx:if的條件值切換時,框架有一個區域性渲染的過程,他會確保條件在切換是銷燬或者重新渲染。同時wx:if也是有惰性的,如果初始渲染條件為false,框架什麼也不會做,只有在條件第一次變為真的時候才會開始渲染。相比之下hidden就簡單的多,元件始終都會被渲染,只是簡單的控制顯示和隱藏,一般來說,wx:if 有更高的切換消耗,而hidden有更高的初始渲染消耗,你可以根據自己的需求來呼叫。 wx:if 與 hidden 都可以控制微信小程式中元素的顯示與否。 wx:if 是遇 true 顯示,hidden 是遇 false 顯示。

他們還有一層細微的區別: wx:if 在隱藏的時候不渲染,而 hidden 在隱藏時仍然渲染,只是不呈現。 所以如果頻繁切換的話,用 wx:if 將會消耗更多資源,因為每次呈現的時候他都會渲染,每次隱藏的時候,他都會銷燬。 如果切換並不頻繁的話,用 wx:if 相對來說較好些,因為它會避免初始就一下渲染那麼多。

總結 頻繁切換:用 hidden。 偶爾切換:用 wx:if。