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


TypeScript index.destroyView函数代码示例

本文整理汇总了TypeScript中@angular/core/src/view/index.destroyView函数的典型用法代码示例。如果您正苦于以下问题:TypeScript destroyView函数的具体用法?TypeScript destroyView怎么用?TypeScript destroyView使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: it

      it('should throw on dirty checking destroyed views', () => {
        const {view, rootNodes} = createAndGetRootNodes(compViewDef(
            [
              elementDef(NodeFlags.None, null, null, 0, 'div'),
            ],
            (view) => { setCurrentNode(view, 0); }));

        destroyView(view);

        expect(() => checkAndUpdateView(view))
            .toThrowError('View has been used after destroy for CheckAndUpdate');
      });
开发者ID:doxiaodong,项目名称:angular,代码行数:12,代码来源:component_view_spec.ts

示例2: it

    it('should destroy component views', () => {
      const log: string[] = [];

      class AComp {}

      class ChildProvider {
        ngOnDestroy() { log.push('ngOnDestroy'); };
      }

      const {view, rootNodes} = createAndGetRootNodes(compViewDef([
        elementDef(NodeFlags.None, 1, 'div'),
        providerDef(
            NodeFlags.None, AComp, [], null, () => compViewDef([
                                               elementDef(NodeFlags.None, 1, 'span'),
                                               providerDef(NodeFlags.OnDestroy, ChildProvider, [])
                                             ])),
      ]));

      destroyView(view);

      expect(log).toEqual(['ngOnDestroy']);
    });
开发者ID:JSMike,项目名称:angular,代码行数:22,代码来源:component_view_spec.ts

示例3: it

    it('should destroy embedded views', () => {
      const log: string[] = [];

      class ChildProvider {
        ngOnDestroy() { log.push('ngOnDestroy'); };
      }

      const {view: parentView, rootNodes} = createAndGetRootNodes(compViewDef([
        elementDef(NodeFlags.None, null, null, 1, 'div'),
        anchorDef(NodeFlags.HasEmbeddedViews, null, null, 0, embeddedViewDef([
                    elementDef(NodeFlags.None, null, null, 1, 'span'),
                    directiveDef(NodeFlags.OnDestroy, null, 0, ChildProvider, [])
                  ]))
      ]));

      const childView0 = createEmbeddedView(parentView, parentView.def.nodes[1]);

      attachEmbeddedView(asElementData(parentView, 1), 0, childView0);
      destroyView(parentView);

      expect(log).toEqual(['ngOnDestroy']);
    });
开发者ID:doxiaodong,项目名称:angular,代码行数:22,代码来源:embedded_view_spec.ts

示例4: it

      it('should call the lifecycle hooks in the right order', () => {
        let instanceCount = 0;
        let log: string[] = [];

        class SomeService implements OnInit, DoCheck, OnChanges, AfterContentInit,
            AfterContentChecked, AfterViewInit, AfterViewChecked, OnDestroy {
          id: number;
          a: any;
          ngOnInit() { log.push(`${this.id}_ngOnInit`); }
          ngDoCheck() { log.push(`${this.id}_ngDoCheck`); }
          ngOnChanges() { log.push(`${this.id}_ngOnChanges`); }
          ngAfterContentInit() { log.push(`${this.id}_ngAfterContentInit`); }
          ngAfterContentChecked() { log.push(`${this.id}_ngAfterContentChecked`); }
          ngAfterViewInit() { log.push(`${this.id}_ngAfterViewInit`); }
          ngAfterViewChecked() { log.push(`${this.id}_ngAfterViewChecked`); }
          ngOnDestroy() { log.push(`${this.id}_ngOnDestroy`); }
          constructor() { this.id = instanceCount++; }
        }

        const allFlags = NodeFlags.OnInit | NodeFlags.DoCheck | NodeFlags.OnChanges |
            NodeFlags.AfterContentInit | NodeFlags.AfterContentChecked | NodeFlags.AfterViewInit |
            NodeFlags.AfterViewChecked | NodeFlags.OnDestroy;
        const {view, rootNodes} = createAndGetRootNodes(compViewDef(
            [
              elementDef(NodeFlags.None, 3, 'span'),
              providerDef(allFlags, SomeService, [], {a: [0, 'a']}),
              elementDef(NodeFlags.None, 1, 'span'),
              providerDef(allFlags, SomeService, [], {a: [0, 'a']})
            ],
            (updater) => {
              updater.checkInline(view, 1, 'someValue');
              updater.checkInline(view, 3, 'someValue');
            }));

        checkAndUpdateView(view);

        // Note: After... hooks are called bottom up.
        expect(log).toEqual([
          '0_ngOnChanges',
          '0_ngOnInit',
          '0_ngDoCheck',
          '1_ngOnChanges',
          '1_ngOnInit',
          '1_ngDoCheck',
          '1_ngAfterContentInit',
          '1_ngAfterContentChecked',
          '0_ngAfterContentInit',
          '0_ngAfterContentChecked',
          '1_ngAfterViewInit',
          '1_ngAfterViewChecked',
          '0_ngAfterViewInit',
          '0_ngAfterViewChecked',
        ]);

        log = [];
        checkAndUpdateView(view);

        // Note: After... hooks are called bottom up.
        expect(log).toEqual([
          '0_ngDoCheck', '1_ngDoCheck', '1_ngAfterContentChecked', '0_ngAfterContentChecked',
          '1_ngAfterViewChecked', '0_ngAfterViewChecked'
        ]);

        log = [];
        destroyView(view);

        // Note: ngOnDestroy ist called bottom up.
        expect(log).toEqual(['1_ngOnDestroy', '0_ngOnDestroy']);
      });
开发者ID:JSMike,项目名称:angular,代码行数:69,代码来源:provider_spec.ts


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