admin管理员组

文章数量:1295305

I am creating sticky navbar directive for sticky header in my angular 6 app

Here is what I have so far:

import { Directive, Input, Renderer, ElementRef, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { fromEvent } from 'rxjs';

@Directive({
    selector: '[ngStickyNav]'
})

export class StickyNavDirective implements OnInit {
    private offsetTop: number;
    private lastScroll: number = 0;
    private isSticky: boolean = false;
    @Input('stickyClass') stickyClass: string;

    constructor(private elementRef: ElementRef, private renderer: Renderer) {

    }

    ngOnInit(): void {
        this.offsetTop = this.elementRef.nativeElement.offsetTop;

        Observable.fromEvent(window, 'scroll').subscribe(() => this.manageScrollEvent());
    }
}

I am getting the following error :

Property 'fromEvent' does not exist on type 'typeof Observable'.

what is wrong with my code? newbie though

I am creating sticky navbar directive for sticky header in my angular 6 app

Here is what I have so far:

import { Directive, Input, Renderer, ElementRef, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { fromEvent } from 'rxjs';

@Directive({
    selector: '[ngStickyNav]'
})

export class StickyNavDirective implements OnInit {
    private offsetTop: number;
    private lastScroll: number = 0;
    private isSticky: boolean = false;
    @Input('stickyClass') stickyClass: string;

    constructor(private elementRef: ElementRef, private renderer: Renderer) {

    }

    ngOnInit(): void {
        this.offsetTop = this.elementRef.nativeElement.offsetTop;

        Observable.fromEvent(window, 'scroll').subscribe(() => this.manageScrollEvent());
    }
}

I am getting the following error :

Property 'fromEvent' does not exist on type 'typeof Observable'.

what is wrong with my code? newbie though

Share edited Aug 14, 2018 at 22:52 Talha Junaid 2,41523 silver badges31 bronze badges asked Aug 14, 2018 at 22:36 The Dead ManThe Dead Man 5,57632 gold badges124 silver badges225 bronze badges 2
  • 1 Given that you've separately imported fromEvent, why are you trying to access it on observable? – jonrsharpe Commented Aug 14, 2018 at 22:42
  • @jonrsharpe I wa just trying to solve the error by trying to import fromEvent to see if I can solve the issue , but seems not the right way, I am learning bro, that is why I need some guide from you guys – The Dead Man Commented Aug 14, 2018 at 22:46
Add a ment  | 

1 Answer 1

Reset to default 11

In rxjs v6 it is just fromEvent:

fromEvent(window, 'scroll').subscribe(() => this.manageScrollEvent());

本文标签: javascriptAngular 6Property 39fromEvent39 does not exist on type 39typeof Observable39Stack Overflow