當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript index.checkNoChangesView函數代碼示例

本文整理匯總了TypeScript中@angular/core/src/view/index.checkNoChangesView函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript checkNoChangesView函數的具體用法?TypeScript checkNoChangesView怎麽用?TypeScript checkNoChangesView使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了checkNoChangesView函數的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

    it('should checkNoChanges', () => {
      let textValue = 'v1';
      const {view, rootNodes} = createAndGetRootNodes(compViewDef(
          [
            textDef(['', '']),
          ],
          (updater, view) => updater.checkInline(view, 0, textValue)));

      checkAndUpdateView(view);
      checkNoChangesView(view);

      textValue = 'v2';
      expect(() => checkNoChangesView(view))
          .toThrowError(
              `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
    });
開發者ID:JSMike,項目名稱:angular,代碼行數:16,代碼來源:text_spec.ts

示例2: it

    it('should dirty check embedded views', () => {
      let childValue = 'v1';
      const parentContext = new Object();
      const childContext = new Object();
      const updater = jasmine.createSpy('updater').and.callFake(
          (updater: NodeUpdater, view: ViewData) => updater.checkInline(view, 0, childValue));

      const {view: parentView, rootNodes} = createAndGetRootNodes(
          compViewDef([
            elementDef(NodeFlags.None, 1, 'div'),
            anchorDef(
                NodeFlags.HasEmbeddedViews, 0,
                embeddedViewDef(
                    [elementDef(
                        NodeFlags.None, 0, 'span', null,
                        [[BindingType.ElementAttribute, 'name', SecurityContext.NONE]])],
                    updater))
          ]),
          parentContext);

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

      const rootEl = rootNodes[0];
      attachEmbeddedView(parentView.nodes[1], 0, childView0);

      checkAndUpdateView(parentView);

      expect(updater).toHaveBeenCalled();
      // component
      expect(updater.calls.mostRecent().args[2]).toBe(parentContext);
      // view context
      expect(updater.calls.mostRecent().args[3]).toBe(childContext);

      updater.calls.reset();
      checkNoChangesView(parentView);

      expect(updater).toHaveBeenCalled();
      // component
      expect(updater.calls.mostRecent().args[2]).toBe(parentContext);
      // view context
      expect(updater.calls.mostRecent().args[3]).toBe(childContext);

      childValue = 'v2';
      expect(() => checkNoChangesView(parentView))
          .toThrowError(
              `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
    });
開發者ID:JSMike,項目名稱:angular,代碼行數:47,代碼來源:embedded_view_spec.ts

示例3: it

    it('should checkNoChanges', () => {
      let attrValue = 'v1';
      const {view, rootNodes} = createAndGetRootNodes(compViewDef(
          [
            elementDef(
                NodeFlags.None, 0, 'div', null,
                [[BindingType.ElementAttribute, 'a1', SecurityContext.NONE]]),
          ],
          (updater, view) => updater.checkInline(view, 0, attrValue)));

      checkAndUpdateView(view);
      checkNoChangesView(view);

      attrValue = 'v2';
      expect(() => checkNoChangesView(view))
          .toThrowError(
              `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
    });
開發者ID:JSMike,項目名稱:angular,代碼行數:18,代碼來源:element_spec.ts

示例4: it

    it('should dirty check component views', () => {
      let value = 'v1';
      let instance: AComp;
      class AComp {
        a: any;
        constructor() { instance = this; }
      }

      const updater = jasmine.createSpy('updater').and.callFake(
          (updater: NodeUpdater, view: ViewData) => updater.checkInline(view, 0, value));

      const {view, rootNodes} = createAndGetRootNodes(
        compViewDef([
          elementDef(NodeFlags.None, 1, 'div'),
          providerDef(NodeFlags.None, AComp, [], null, () => compViewDef(
            [
              elementDef(NodeFlags.None, 0, 'span', null, [[BindingType.ElementAttribute, 'a', SecurityContext.NONE]]),
            ], updater
          )),
        ], jasmine.createSpy('parentUpdater')));

      checkAndUpdateView(view);

      expect(updater).toHaveBeenCalled();
      // component
      expect(updater.calls.mostRecent().args[2]).toBe(instance);
      // view context
      expect(updater.calls.mostRecent().args[3]).toBe(instance);

      updater.calls.reset();
      checkNoChangesView(view);

      expect(updater).toHaveBeenCalled();
      // component
      expect(updater.calls.mostRecent().args[2]).toBe(instance);
      // view context
      expect(updater.calls.mostRecent().args[3]).toBe(instance);

      value = 'v2';
      expect(() => checkNoChangesView(view))
          .toThrowError(
              `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
    });
開發者ID:JSMike,項目名稱:angular,代碼行數:43,代碼來源:component_view_spec.ts

示例5: it

      it('should checkNoChanges', () => {
        class SomeService {
          a: any;
        }

        let propValue = 'v1';
        const {view, rootNodes} = createAndGetRootNodes(compViewDef(
            [
              elementDef(NodeFlags.None, 1, 'span'),
              providerDef(NodeFlags.None, SomeService, [], {a: [0, 'a']})
            ],
            (updater, view) => updater.checkInline(view, 1, propValue)));

        checkAndUpdateView(view);
        checkNoChangesView(view);

        propValue = 'v2';
        expect(() => checkNoChangesView(view))
            .toThrowError(
                `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
      });
開發者ID:JSMike,項目名稱:angular,代碼行數:21,代碼來源:provider_spec.ts

示例6: it

    it('should dirty check embedded views', () => {
      let childValue = 'v1';
      const update = jasmine.createSpy('updater').and.callFake((view: ViewData) => {
        setCurrentNode(view, 0);
        checkNodeInline(childValue);
      });

      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, 0, 'span', null,
                    [[BindingType.ElementAttribute, 'name', SecurityContext.NONE]])],
                update))
      ]));

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

      const rootEl = rootNodes[0];
      attachEmbeddedView(asElementData(parentView, 1), 0, childView0);

      checkAndUpdateView(parentView);

      expect(update).toHaveBeenCalledWith(childView0);

      update.calls.reset();
      checkNoChangesView(parentView);

      expect(update).toHaveBeenCalledWith(childView0);

      childValue = 'v2';
      expect(() => checkNoChangesView(parentView))
          .toThrowError(
              `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
    });
開發者ID:doxiaodong,項目名稱:angular,代碼行數:37,代碼來源:embedded_view_spec.ts

示例7: it

      it('should dirty check component views', () => {
        let value: any;
        class AComp {
          a: any;
        }

        const update = jasmine.createSpy('updater').and.callFake((view: ViewData) => {
          setCurrentNode(view, 0);
          checkNodeInline(value);
        });

        const {view, rootNodes} = createAndGetRootNodes(
          compViewDef([
            elementDef(NodeFlags.None, null, null, 1, 'div'),
            directiveDef(NodeFlags.None, null, 0, AComp, [], null, null, () => compViewDef(
              [
                elementDef(NodeFlags.None, null, null, 0, 'span', null, [[BindingType.ElementAttribute, 'a', SecurityContext.NONE]]),
              ], update
            )),
          ]));
        const compView = asProviderData(view, 1).componentView;

        value = 'v1';
        checkAndUpdateView(view);

        expect(update).toHaveBeenCalledWith(compView);

        update.calls.reset();
        checkNoChangesView(view);

        expect(update).toHaveBeenCalledWith(compView);

        value = 'v2';
        expect(() => checkNoChangesView(view))
            .toThrowError(
                `Expression has changed after it was checked. Previous value: 'v1'. Current value: 'v2'.`);
      });
開發者ID:doxiaodong,項目名稱:angular,代碼行數:37,代碼來源:component_view_spec.ts

示例8: expect

 expect(() => checkNoChangesView(view))
開發者ID:JSMike,項目名稱:angular,代碼行數:1,代碼來源:text_spec.ts

示例9: expect

 expect(() => checkNoChangesView(parentView))
開發者ID:doxiaodong,項目名稱:angular,代碼行數:1,代碼來源:embedded_view_spec.ts


注:本文中的@angular/core/src/view/index.checkNoChangesView函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。