元件執行處理由「元件處理站」物件所建立。
元件註冊檔中的「元件處理站」物件項目為 initData.componentFactory
。這是 RequireJS 用來載入元件處理站之 JavaScript 檔案的參照。它必須傳回實行 componentFactory
介面的 JavaScript 物件。
「元件處理站」物件必須實行 customComponentFactory.createComponent(args)
API,此 API 會建立元件的每個執行處理。
args
包含以下設定值:
SitesSDK
:Oracle Content Management Sites SDK。
id
:新增至頁面之元件的唯一 ID (GUID
)。
viewMode
:頁面目前的呈現模式。頁面若在編輯中,會為「編輯」模式。頁面若在預覽中,會為「瀏覽」模式。在程式實際執行時 (亦即網站已發布),值為未定義。您可以根據每一種模式應顯示的功能,提供不同的實行。例如,頁面以「編輯」模式執行時,連結不應為作用中。
註:
您不一定要對您的元件使用 JQuery 或 Knockout,但若想要運用 Oracle Content Management 功能 (如巢狀元件),就必須使用 Oracle Content Management 所提供的 Knockout 版本。此 Knockout 版本提供其他地方無法取得的已擴充元件註冊和處理程式。就元件本身而言,SDK 會在元件建立後傳入,因此元件能夠與頁面生命週期通訊。頁面生命週期函數必須由元件實行,並且由 Oracle Content Management 呼叫以在頁面上呈現元件。
提供必要和選擇性的 API,以用於實行元件。
必要的 API
customComponent.render(container)
:會要求元件將本身插入提供的 DOM 容器元素中。
container
:自訂元件 HTML 的 DOM 容器元素。
選擇性的 API
customComponent.dispose()
:會在將元件自頁面移除時呼叫。提供讓元件移除任何已不再需要之資源的機會。