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

Control

class Control

Flicking의 입력 장치 & 애니메이션을 담당하는 컴포넌트

Properties

controller

readonly

@egjs/axes의 이벤트를 처리하는 컨트롤러 컴포넌트

Type: AxesController

activeIndex

readonly

currentPanel의 인덱스 번호

Type: number

Default: 0

activePanel

readonly

현재 선택된 패널

Type: Panel | null

animating

readonly

현재 애니메이션 동작 여부

Type: boolean

holding

readonly

현재 사용자가 클릭/터치중인지 여부

Type: boolean

Methods

moveToPosition

Camera를 주어진 좌표로 이동합니다

Returns: Promise<void>

  • 해당 좌표 도달시에 resolve되는 Promise

Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
positionnumber이동할 좌표
durationnumber패널 이동 애니메이션 진행 시간 (단위: ms)
axesEventobject✔️Axesrelease 이벤트

Throws: FlickingError



|code|condition|
|---|---|
|[POSITION_NOT_REACHABLE](ERROR_CODE)|주어진 패널이 제거되었거나, Camera의 [range](Camera#range) 밖에 있을 경우|
|[NOT_ATTACHED_TO_FLICKING](ERROR_CODE)|[init](Control#init)이 이전에 호출되지 않은 경우|
|[ANIMATION_INTERRUPTED](ERROR_CODE)|사용자 입력에 의해 애니메이션이 중단된 경우|
|[STOP_CALLED_BY_USER](ERROR_CODE)|발생된 이벤트들 중 하나라도 `stop()`이 호출된 경우|

init

Control을 초기화합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
flickingFlickingFlicking의 인스턴스

destroy

Control을 초기 상태로 되돌립니다

Returns: void

enable

사용자의 입력(마우스/터치)를 활성화합니다

Returns: this

disable

사용자의 입력(마우스/터치)를 막습니다

Returns: this

release

사용자의 현재 입력(마우스/터치)를 중단시킵니다

Returns: this

updateAnimation

재생 중인 애니메이션의 목적지와 재생 시간을 변경합니다

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
panelPanel이동할 패널
durationnumber✔️애니메이션 진행 시간 (단위: ms)
directionDIRECTION✔️이동할 방향. circular 옵션 활성화시에만 사용 가능합니다

Throws: FlickingError

POSITION_NOT_REACHABLE 주어진 패널이 제거되었거나, Camera의 range 밖에 있을 경우

stopAnimation

재생 중인 애니메이션을 중단시킵니다

Returns: this

updatePosition

resize 이후에 position을 업데이트합니다

Returns: Promise<void>

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
progressInPanelnumberResize 이전 현재 선택된 패널 내에서의 카메라 progress 값

Throws: FlickingError

NOT_ATTACHED_TO_FLICKING init이 이전에 호출되지 않은 경우

updateInput

controller의 내부 상태를 갱신합니다

Returns: this

resetActive

activePanelnull로 초기화합니다

Returns: this

moveToPanel

async

Camera를 해당 패널 위로 이동합니다

Returns: Promise<void>

  • 해당 패널 도달시에 resolve되는 Promise

Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
panelPanel이동할 패널
optionsobject옵션 오브젝트
durationnumber애니메이션 진행 시간 (단위: ms)
axesEventobject✔️Axesrelease 이벤트
directionDIRECTION✔️DIRECTION.NONE이동할 방향. circular 옵션 활성화시에만 사용 가능합니다

Throws: FlickingError



|code|condition|
|---|---|
|[POSITION_NOT_REACHABLE](ERROR_CODE)|주어진 패널이 제거되었거나, Camera의 [range](Camera#range) 밖에 있을 경우|
|[NOT_ATTACHED_TO_FLICKING](ERROR_CODE)|[init](Control#init)이 이전에 호출되지 않은 경우|
|[ANIMATION_INTERRUPTED](ERROR_CODE)|사용자 입력에 의해 애니메이션이 중단된 경우|
|[STOP_CALLED_BY_USER](ERROR_CODE)|발생된 이벤트들 중 하나라도 `stop()`이 호출된 경우|

setActive

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
newActivePanelPanel
prevActivePanelPanel | null
isTrustedboolean

copy

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
controlControl