当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript DefaultIterableDiffer.forEachOperation方法代码示例

本文整理汇总了TypeScript中@angular/core/src/change_detection/differs/default_iterable_differ.DefaultIterableDiffer.forEachOperation方法的典型用法代码示例。如果您正苦于以下问题:TypeScript DefaultIterableDiffer.forEachOperation方法的具体用法?TypeScript DefaultIterableDiffer.forEachOperation怎么用?TypeScript DefaultIterableDiffer.forEachOperation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@angular/core/src/change_detection/differs/default_iterable_differ.DefaultIterableDiffer的用法示例。


在下文中一共展示了DefaultIterableDiffer.forEachOperation方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: DefaultIterableDiffer

           () => {
             differ = new DefaultIterableDiffer((index: number) => index);

             const startData = [1, 2, 3, 4];
             const endData = [5, 6, 7, 8];

             differ = differ.diff(startData) !;
             differ = differ.diff(endData) !;

             const operations: string[] = [];
             differ.forEachOperation((item: any, prev: number, next: number) => {
               const value = modifyArrayUsingOperation(startData, endData, prev, next);
               operations.push(stringifyItemChange(item, prev, next, item.previousIndex));
             });

             expect(operations).toEqual([]);
           });
开发者ID:Cammisuli,项目名称:angular,代码行数:17,代码来源:default_iterable_differ_spec.ts

示例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);
           });
开发者ID:Cammisuli,项目名称:angular,代码行数:19,代码来源:default_iterable_differ_spec.ts

示例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);
        });
开发者ID:Cammisuli,项目名称:angular,代码行数:20,代码来源:default_iterable_differ_spec.ts


注:本文中的@angular/core/src/change_detection/differs/default_iterable_differ.DefaultIterableDiffer.forEachOperation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。