new eg.ChildrenDiffer(list)
A module that checks diff when child are added, removed, or changed .
자식 노드들에서 자식 노드가 추가되거나 삭제되거나 순서가 변경된 사항을 체크하는 모듈입니다.
-
list (default:
[]
) optionalType: ListFormat<T>Initializing Children
초기 설정할 자식 노드들
Extends
Methods
-
staticeg.ChildrenDiffer.diff(prevList, list){ChildrenDiffResult<T>}
-
-
prevListType: T[]
Previous List
이전 목록
-
listType: T[]
List to Update
업데이트 할 목록
Returns:
Type Description ChildrenDiffResult<T> - Returns the diff between
prevList
andlist
prevList
와list
의 다른 점을 반환한다.Example
import { diff } from "@egjs/children-differ";
// script => eg.ChildrenDiffer.diff
const result = diff([0, 1, 2, 3, 4, 5], [7, 8, 0, 4, 3, 6, 2, 1]);
// List before update
// [1, 2, 3, 4, 5]
console.log(result.prevList);
// Updated list
// [4, 3, 6, 2, 1]
console.log(result.list);
// Index array of values added tolist
// [0, 1, 5]
console.log(result.added);
// Index array of values removed inprevList
// [5]
console.log(result.removed);
// An array of index pairs ofprevList
andlist
with different indexes fromprevList
andlist
// [[0, 2], [4, 3], [3, 4], [2, 6], [1, 7]]
console.log(result.changed);
// The subset ofchanged
and an array of index pairs that moved data directly. Indicate an array of absolute index pairs ofordered
.(Formatted by: Array<[index of prevList, index of list]>)
// [[4, 3], [3, 4], [2, 6]]
console.log(result.pureChanged);
// An array of index pairs to beordered
that can synchronizelist
before adding data. (Formatted by: Array<[prevIndex, nextIndex]>)
// [[4, 1], [4, 2], [4, 3]]
console.log(result.ordered);
// An array of index pairs ofprevList
andlist
that have not been added/removed so data is preserved
// [[0, 2], [4, 3], [3, 4], [2, 6], [1, 7]]
console.log(result.maintained); -
-
inherited update(list){DiffResult<T>}
-
Update list.
리스트를 업데이트를 합니다.
-
listType: ListFormat<T>
List to update
업데이트할 리스트
Returns:
Type Description DiffResult<T> - Returns the results of an update from
prevList
tolist
.
prevList
에서list
로 업데이트한 결과를 반환한다. -
Type Definitions
-
eg.ChildrenDiffer.ChildrenDiffResultTSInterface
-
Properties:
Name Type Description prevList
T[] List before update
업데이트하기 전 데이터
list
T[] Updated list
업데이트하는 데이터
added
number[] Index array of values added to
list
list
에서 추가되는 데이터의 인덱스 배열removed
number[] Index array of values removed in
prevList
prevList
에서 제거되는 데이터의 인덱스 배열changed
number[][] An array of index pairs of
prevList
andlist
with different indexes fromprevList
andlist
이전 리스트
prevList
와 지금 리스트list
에서 위치가 다른prevList
와list
의 인덱스 배열들ordered
number[][] An array of index pairs to be
ordered
that can synchronizelist
before adding data. (Formatted by: Array<[prevIndex, nextIndex]>)데이터를 추가하기 전
list
를 동기화할 수 있는 정렬되는 인덱스 배열들(형태: Array<[이전 인덱스, 다음 인덱스]>)pureChanged
number[][] The subset of
changed
and an array of index pairs that moved data directly. Indicate an array of absolute index pairs ofordered
.(Formatted by: Array<[index of prevList, index of list]>)changed
의 부분집합으로 데이터를 추가하기 전 직접 움직이는 데이터의 인덱스 배열들.ordered
의 절대적인 인덱스 배열들을 나타내기도 한다. (형태: Array<[prevList인덱스, list인덱스]>)maintained
number[][] An array of index pairs of
prevList
andlist
that have not been added/removed so data is preserved추가/삭제 되지 않아 데이터가 보존된
prevList
와list
의 인덱스 배열들