本地组件实施

组件实例由组件工厂对象创建。

组件注册文件中的组件工厂对象条目为 initData.componentFactory。这是对 JavaScript 文件的引用,RequireJS 使用该文件加载组件工厂。它必须返回实施 componentFactory 接口的 JavaScript 对象

组件工厂对象必须实施 API customComponentFactory.createComponent(args),其创建组件的每个实例。

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():在从页中删除组件时调用。为组件提供机会来删除不再需要的任何资源。