본문으로 건너뛰기
버전: 4.12.0

Renderer

class Renderer

Panel과 그 엘리먼트들을 관리하는 컴포넌트

constructor

new Renderer(options, options.align, options.strategy)
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
optionsobject옵션 오브젝트
options.alignConstants.ALIGN | string | number✔️"center"전체 패널에 적용될 align
options.strategyobject✔️RenderingStrategy의 인스턴스(내부 모듈)

Properties

panels

readonly

전체 패널들의 배열

Type: Array<Panel>

See:

rendering

readonly

현재 렌더링이 시작되어 끝나기 전까지의 상태인지의 여부

Type: boolean

panelCount

readonly

전체 패널의 개수

Type: number

strategy

align

Panel에 공통적으로 적용할 align

Type: Constants.ALIGN | string | number

Methods

render

패널 엘리먼트들을 카메라 엘리먼트 내부에 렌더링합니다

Returns: this

init

Renderer를 초기화합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
flickingFlickingFlicking의 인스턴스

destroy

Renderer를 초기 상태로 되돌립니다

Returns: void

getPanel

주어진 인덱스에 해당하는 Panel을 반환합니다. 주어진 인덱스에 해당하는 패널이 존재하지 않을 경우 null을 반환합니다.

Returns: Panel | null

  • 주어진 인덱스에 해당하는 패널
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
indexnumber

See:

updatePanelSize

모든 패널의 크기를 업데이트합니다

Returns: this

batchInsert

주어진 인덱스에 새로운 패널들을 추가합니다
해당 인덱스보다 같거나 큰 인덱스를 가진 기존 패널들은 추가한 패널의 개수만큼 인덱스가 증가합니다.

Returns: Array<Panel>

  • 추가된 패널들의 배열
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
itemsArray<object>추가할 아이템들의 배열
items.indexnumber✔️새로 패널들을 추가할 인덱스
items.elementsArray<any>✔️엘리먼트의 배열 혹은 프레임워크에서 엘리먼트를 포함한 컴포넌트들의 배열
items.hasDOMInElementsboolean✔️내부에 실제 DOM 엘리먼트들을 포함하고 있는지 여부. true로 설정할 경우, 렌더러는 해당 엘리먼트들을 카메라 엘리먼트 내부에 추가합니다

batchInsertDefer

Defers update
camera position & others will be updated after calling updateAfterPanelChange

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
...itemsArray<{index: number, elements: any[], hasDOMInElements: boolean}>

batchRemove

주어진 인덱스의 패널을 제거합니다
해당 인덱스보다 큰 인덱스를 가진 기존 패널들은 제거한 패널의 개수만큼 인덱스가 감소합니다

Returns: Panel[]

  • 제거된 패널들의 배열
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
itemsArray<object>제거할 아이템들의 배열
items.indexnumber✔️제거할 패널의 인덱스
items.deleteCountnumber✔️1index 이후로 제거할 패널의 개수
items.hasDOMInElementsboolean✔️1내부에 실제 DOM 엘리먼트들을 포함하고 있는지 여부. true로 설정할 경우, 렌더러는 해당 엘리먼트들을 카메라 엘리먼트 내부에서 제거합니다

batchRemoveDefer

Defers update
camera position & others will be updated after calling updateAfterPanelChange

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
...itemsArray<{index: number, deleteCount: number, hasDOMInElements: boolean}>

updateAfterPanelChange

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
panelsAddedPanel[]
panelsRemovedPanel[]

checkPanelContentsReady

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
checkingPanelsPanel[]