本文整理汇总了TypeScript中@angular/core/src/change_detection/differs/default_iterable_differ.DefaultIterableDiffer.diff方法的典型用法代码示例。如果您正苦于以下问题:TypeScript DefaultIterableDiffer.diff方法的具体用法?TypeScript DefaultIterableDiffer.diff怎么用?TypeScript DefaultIterableDiffer.diff使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@angular/core/src/change_detection/differs/default_iterable_differ.DefaultIterableDiffer
的用法示例。
在下文中一共展示了DefaultIterableDiffer.diff方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: DefaultIterableDiffer
() => {
differ = new DefaultIterableDiffer((index: number) => index);
var startData = [1, 2, 3, 4];
var endData = [5, 6, 7, 8];
differ = differ.diff(startData);
differ = differ.diff(endData);
var operations: string[] = [];
differ.forEachOperation((item: any, prev: number, next: number) => {
var value = modifyArrayUsingOperation(startData, endData, prev, next);
operations.push(stringifyItemChange(item, prev, next, item.previousIndex));
});
expect(operations).toEqual([]);
});
示例2: modifyArrayUsingOperation
() => {
const startData = [0, 1, 2, 3];
const endData = [2, 1];
differ = differ.diff(startData) !;
differ = differ.diff(endData) !;
const operations: string[] = [];
differ.forEachOperation((item: any, prev: number, next: number) => {
modifyArrayUsingOperation(startData, endData, prev, next);
operations.push(stringifyItemChange(item, prev, next, item.previousIndex));
});
expect(operations).toEqual([
'REMOVE 0 (0 -> VOID) [o=0]', 'MOVE 2 (1 -> 0) [o=2]', 'REMOVE 3 (2 -> VOID) [o=3]'
]);
expect(startData).toEqual(endData);
});
示例3: it
it('should skip moves for multiple nodes that have not moved', () => {
const startData = [0, 1, 2, 3, 4];
const endData = [4, 1, 2, 3, 0, 5];
differ = differ.diff(startData) !;
differ = differ.diff(endData) !;
const operations: string[] = [];
differ.forEachOperation((item: any, prev: number, next: number) => {
modifyArrayUsingOperation(startData, endData, prev, next);
operations.push(stringifyItemChange(item, prev, next, item.previousIndex));
});
expect(operations).toEqual([
'MOVE 4 (4 -> 0) [o=4]', 'MOVE 1 (2 -> 1) [o=1]', 'MOVE 2 (3 -> 2) [o=2]',
'MOVE 3 (4 -> 3) [o=3]', 'INSERT 5 (VOID -> 5)'
]);
expect(startData).toEqual(endData);
});
示例4: expect
expect(() => differ.diff('invalid')).toThrowError(/Error trying to diff 'invalid'/);