本機元件實行

元件執行處理由「元件處理站」物件所建立。

元件註冊檔中的「元件處理站」物件項目為 initData.componentFactory。這是 RequireJS 用來載入元件處理站之 JavaScript 檔案的參照。它必須傳回實行 componentFactory 介面的 JavaScript 物件。

「元件處理站」物件必須實行 customComponentFactory.createComponent(args) API,此 API 會建立元件的每個執行處理。

args 包含以下設定值:

  • SitesSDKOracle 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():會在將元件自頁面移除時呼叫。提供讓元件移除任何已不再需要之資源的機會。