로컬 구성요소 구현

구성요소 인스턴스는 구성요소 팩토리 객체에 의해 생성됩니다.

구성요소 등록 파일의 구성요소 팩토리 객체 항목은 initData.componentFactory입니다. RequireJS가 구성요소 팩토리 로드를 위해 사용하는 JavaScript 파일을 참조합니다. componentFactory 인터페이스를 구현하는 JavaScript 객체를 반환해야 합니다.

구성요소 팩토리 객체는 각 구성요소 인스턴스를 생성하는 API customComponentFactory.createComponent(args)를 구현해야 합니다.

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(): 구성요소가 페이지에서 제거될 때 호출됩니다. 구성요소가 더 이상 필요하지 않은 리소스를 제거할 수 있는 기회를 제공합니다.