說facet以前,我們先說一下瀏覽器載入解析以及渲染的過程。瀏覽器獲取乙個html的檔案時,會按照自上向下的順序進行解析,並在載入過程中進行渲染。對html解析成dom樹,對css 解析成css rule樹,然後通過dom數以及css rule樹構造rendering樹。
接下來轉回facet,facet是什麼?有哪些的使用場景呢?
facet 可以理解成乙個佔位符,這個佔位符用於對父元件的指定的部分進行重新渲染。 很多元件都有預設的渲染,如果預設的渲染的結果不是你想要得到的結果,可以使用facet進行重新的渲染。通過facet對預設元件進行重新渲染,從而生成你想要的rendering樹,展示你想要的自定義的ui。
因為facet是乙個佔位符,所以facet不會單獨的出現在外層的元件,只會作為父元素組建的乙個子進行出現。當然也不是所有的元素都可以使用facet,只有部分的元件元素可以使用facet。facet既可以使用在lightning中,也可以使用到classic中。facet在classic中使用 apex:facet 元件,在lightning中使用aura.component。
classic中facet可以搭配的常用的父元件有:
apex:datatable /apex:actionstatus / apex:column / apex:relatedlist等,不同的元件支援的不同的自定義元素位置不同,具體可以檢視api。
classic使用
demo舉例:針對notes / attachment related list, 標準提供的功能無法隱藏add按鈕,我們可以通過facet方式對apex:relatedlist進行重新渲染,從而隱藏add按鈕。apex:relatedlist可以對body,footer以及header進行重新渲染,demo中我們只渲染header,感興趣的可以操作其他的部分。
結果展示:
lightning使用
lightning中我們可以通過apex:attribute作為value provider作為引數傳遞以及使用,有兩個主要屬性,乙個是name,乙個是type,當type宣告為aura:component或者aura:component情況下,可以在父元件中動態傳遞引數進行渲染以及解析。
c:facetheader:此元素元件宣告了乙個header的attribute,型別為aura.component,當父元素元件引用此元素並且賦值情況下,便可以動態的載入賦值。這裡面有乙個需要說明,針對lightning,每個aura:component都會內建乙個body的屬性,當父呼叫此元素時,此元素內部的body部分便會作為v.body進行渲染。
<c:hellofacet:此元素元件引用了facetheader元素元件,其中 nice body!將會作為facetheader的body內容進行渲染,我們動態的賦值了header內容進行渲染。aura:component
>
<
aura:attribute
name
="header"
type
="aura.component"
/>
<
div>
<
span
class
="header"
>
span
><
br/>
div>
aura:component
>
<結果展示:aura:component
>
see how we set the header facet.
<
br/>
<
c:facetheader
>
nice body!
<
aura:set
attribute
="header"
>
hello header!
aura:set
>
c:facetheader
>
aura:component
>
零基礎學習 nginx tomcat
我們平時對j2ee開發的時候使用的是tomcat伺服器,tomcat伺服器是用來解析servlet動態網頁的,比如jsp。而apache web伺服器只能處理靜態頁面,如html,css等。其實tomcat也可以解析靜態頁面,但是效率很差,我們在開發的時候因為注重開發,並不用考慮效能問題,所以並不需...
零基礎深度學習
本內容比較適合零基礎但對人工智慧技術與人工智慧程式開發感興趣,想從事人工智慧相關工作或需要在本職工作中加入人工智慧技術的在職人員或在校學生。以python為主要開發語言,深入淺出快速上手最先進的深度學習技術。收穫 能夠使用程式開發技能完成諸如計算機視覺 自然語言處理等人工智慧任務,例如影象識別 智慧...
零基礎學習前端
最近也是找了個學校學習前端,將這幾天學到的東西做個小結 下面就是html的基礎筆記了!1.html 全名叫 超文字標記語言 hyper text markup languge html標籤的基本結構 雙標籤 有開始和結束的標籤叫雙標籤,例如 單標籤 只有開始沒有結束的標籤叫單標籤 根節點頭部標籤 標...