當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。