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


TypeScript Renderer2.listen方法代码示例

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


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

示例1: ngOnChanges

    public ngOnChanges(changes: { targetElement?: SimpleChange }): void {
        if (this.scrollListener) {
            this.scrollListener();
        }
        if (changes.targetElement && changes.targetElement.currentValue) {
            this.scrollListener = this.renderer.listen(this.targetElement, 'scroll', () => {
                if (this.list.busy || false === this.bufferedPager.canLoadMore) {
                    return;
                }

                const targetTop = this.targetElement.getBoundingClientRect().top;
                const targetHeight = this.targetElement.clientHeight;
                const elementPosition = (this.elementRef.nativeElement as HTMLElement).getBoundingClientRect().top;
                if (targetTop + targetHeight >= elementPosition) {
                    this.list.loadData();
                }
            });
        } else {
            this.scrollListener = this.renderer.listen('window', 'scroll', () => {
                if (this.list.busy || false === this.bufferedPager.canLoadMore) {
                    return;
                }
                const windowHeight = document.documentElement.clientHeight;
                const elementPosition = (this.elementRef.nativeElement as HTMLElement).getBoundingClientRect().top;
                if (elementPosition - windowHeight <= 0) {
                    this.list.loadData();
                }
            });
        }
    }
开发者ID:fshchudlo,项目名称:right-angled,代码行数:30,代码来源:infinite.directive.ts

示例2:

  parsedTriggers.forEach((trigger: Trigger) => {
    if (trigger.open === trigger.close) {
      listeners.push(renderer.listen(target, trigger.open, toggleFn));

      return;
    }

    listeners.push(
      renderer.listen(target, trigger.open, showFn),
      renderer.listen(target, trigger.close, hideFn)
    );
  });
开发者ID:OlegDubrovskyi,项目名称:ngx-bootstrap,代码行数:12,代码来源:triggers.ts

示例3: attachScrollListener

 /**
  * Attaches scroll listener to given dom element
  *
  * @param element
  * @param callback
  */
 attachScrollListener(element: any, callback: (event: Event) => void): () => void {
   return this.renderer.listen(
     element,
     'scroll',
     callback.bind(this)
   );
 }
开发者ID:raketasoft,项目名称:ng2-grid,代码行数:13,代码来源:grid-sticky-scroll.component.ts

示例4: open

    public open():void {
        // Attach the generated component to the current application.
        this._componentFactory.attachToApplication(this._componentRef);

        if (this.popup.config.isInline) {
            this._componentFactory.moveToElement(this._componentRef, this._element.nativeElement.parentElement);
        } else {
            // Move the generated element to the body to avoid any positioning issues.
            this._componentFactory.moveToDocumentBody(this._componentRef);
        }

        // Attach a reference to the anchor element. We do it here because IE11 loves to complain.
        this.popup.anchor = this._element;

        // Add a listener to the document body to handle closing.
        this._documentListener = this._renderer
            .listen("document", "click", (e:MouseEvent) =>
                this.onDocumentClick(e));

        // Start popup open transition.
        this.popup.open();

        // Call lifecyle hook
        const lifecycle = (this as IPopupLifecycle).popupOnOpen;
        if (lifecycle) {
            lifecycle.call(this);
        }
    }
开发者ID:edcarroll,项目名称:ng2-semantic-ui,代码行数:28,代码来源:popup-controller.ts

示例5: ngOnInit

    ngOnInit(): void {
        let classes = this.inputElement.className;

        this.inputElement.setAttribute('type', 'checkbox');

        this.wrapper = document.createElement('span');
        this.wrapper.className = classes + ' form-switch';

        if (this.inputElement.name) {
            this.wrapper.className += ' form-switch-' + this.inputElement.name;
        }

        this.inputElement.parentElement.insertBefore(this.wrapper, this.inputElement);
        this.wrapper.appendChild(this.inputElement);

        this.control = document.createElement('i');
        this.control.className = 'control';
        this.wrapper.appendChild(this.control);

        let clickHandler;
        if (this.wrapper.parentElement.tagName.toLowerCase() == 'label') {
            clickHandler = this.wrapper.parentElement;
        } else {
            clickHandler = this.wrapper;
        }

        this.renderer.listen(clickHandler, 'click', e => this.click(e));

        setTimeout(() => {
            if (this.model.model) {
                this.wrapper.classList.add('on');
            }
        }, 50);
    }
开发者ID:ShauvonM,项目名称:improvdatabase,代码行数:34,代码来源:form-switch.directive.ts

示例6: listen

  private listen(r: Renderer2, el: any, elName: string, eventName: string, unlistenId: number) {
    const listener = (event: any) => {
      return this._eventDispatcher.dispatchRenderEvent(el, elName, eventName, event);
    };

    const unlisten = r.listen(el || elName, eventName, listener);
    this._renderStore.store(unlisten, unlistenId);
  }
开发者ID:Cammisuli,项目名称:angular,代码行数:8,代码来源:renderer.ts

示例7: constructor

	constructor(private elRef: ElementRef, private renderer: Renderer2) {

		renderer.listen(elRef.nativeElement, 'touchmove', (e) => {
			e.preventDefault();
			e.stopPropagation();
			e.returnValue = false;
		});
	}
开发者ID:weltenbauer,项目名称:home-control,代码行数:8,代码来源:prevent-scroll.ts

示例8: ngOnInit

 ngOnInit() {
     if (this.elementRef.nativeElement) {
         this.renderer.listen(this.elementRef.nativeElement, 'click', (evt) => {
             evt.preventDefault();
             this.logout();
         });
     }
 }
开发者ID:gravitonian,项目名称:alfresco-ng2-components,代码行数:8,代码来源:logout.directive.ts

示例9: showFn

  parsedTriggers.forEach((trigger: Trigger) => {
    const useToggle = trigger.open === trigger.close;
    const showFn = useToggle ? options.toggle : options.show;

    if (!useToggle) {
      _registerHide.push(() =>
        renderer.listen(target, trigger.close, options.hide)
      );
    }

    listeners.push(
      renderer.listen(target, trigger.open, () => showFn(registerHide))
    );
  });
开发者ID:OlegDubrovskyi,项目名称:ngx-bootstrap,代码行数:14,代码来源:triggers.ts

示例10: ngAfterContentInit

 ngAfterContentInit() {
   if (this.header) {
     this.renderer.listen(this.header.nativeElement, 'click', () => {
       // console.log(this.header);
       this.isOpen = !this.isOpen;
       // this.renderer.setStyle(
       //   this.group.nativeElement,
       //   'display',
       //   this.isOpen ? 'none' : 'block'
       // );
       this.isOpen &&
         this.renderer.addClass(this.group.nativeElement, 'active');
       !this.isOpen &&
         this.renderer.removeClass(this.group.nativeElement, 'active');
     });
   }
 }
开发者ID:sheikalthaf,项目名称:ngu-tree,代码行数:17,代码来源:treed-body.component.ts

示例11: ngOnInit

 ngOnInit(): void {
   // save old overflow
   if (this.lockScroll) {
     this.cacheOverflow = this.window.getComputedStyle(this.document.body).overflow
   }
   this.cacheModalElement = this.renderer.createElement('div')
   this.renderer.setAttribute(this.cacheModalElement, 'class', 'v-modal')
   this.renderer.setStyle(this.cacheModalElement, 'z-index', this.modalZindex)
   this.renderer.setStyle(this.cacheModalElement, 'display', this.visible ? 'block' : 'none')
   this.document.body.appendChild(this.cacheModalElement)
   // listen esc
   if (this.closeOnPressEscape) {
     this.globalListenFunc = this.renderer.listen(
     'document', 'keydown', (event: KeyboardEvent) => {
       this.visible && event.keyCode === 27 && this.closeHandler()
     })
   }
 }
开发者ID:weiwang94,项目名称:element-angular,代码行数:18,代码来源:dialog.ts

示例12: registerOutsideClick

export function registerOutsideClick(renderer: Renderer2,
                                     options: ListenOptions) {
  if (!options.outsideClick) {
    return Function.prototype;
  }

  return renderer.listen('document', 'click', (event: any) => {
    if (options.target && options.target.contains(event.target)) {
      return;
    }
    if (
      options.targets &&
      options.targets.some(target => target.contains(event.target))
    ) {
      return;
    }

    options.hide();
  });
}
开发者ID:OlegDubrovskyi,项目名称:ngx-bootstrap,代码行数:20,代码来源:triggers.ts

示例13: ngAfterViewInit

 ngAfterViewInit() {
     this.renderer.listen(this.el.nativeElement, "click", () => this.onDropdownItemClick());
 }
开发者ID:beqom,项目名称:clarity,代码行数:3,代码来源:dropdown-item.ts

示例14: constructor

    constructor(renderer:Renderer2, viewType:CalendarViewType, ranges:CalendarRangeService) {
        this._type = viewType;
        this.ranges = ranges;

        this._documentKeyDownListener = renderer.listen("document", "keydown", (e:KeyboardEvent) => this.onDocumentKeyDown(e));
    }
开发者ID:edcarroll,项目名称:ng2-semantic-ui,代码行数:6,代码来源:calendar-view.ts

示例15:

 document.querySelectorAll('a').forEach(a => {
   this.renderer.listen(a, 'click', this.collapseHide);
 });
开发者ID:k-ta-yamada,项目名称:k-ta-yamada,代码行数:3,代码来源:header.component.ts


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