Как я могу реализовать прокрутку viewportscroller с постепенной прокруткой по углу? - PullRequest
0 голосов
/ 30 января 2019

Я создаю viewportscroller в моем угловом приложении, скроллер не выполняется постепенно. Я не знаю, почему я использую activ.fragment, но прокрутка для первого якоря была хорошей, но после этого прокрутки нет

constructor(privaterouter : Router,
    privateviewportScroller: ViewportScroller) {

    this.router.events.pipe(filter(e=> e instanceof Scroll)).subscribe((e:any) => {

        setTimeout(()=>{
            if (e.position) {
                this.viewportScroller.scrollToPosition(e.position);
            } else
                if (e.anchor) {
                    this.viewportScroller.scrollToAnchor(e.anchor);
                } 
                else {
                    this.viewportScroller.scrollToPosition([0,0]);
                }

       });

})}

когда я должен использовать его, мой HTML:

<h1 id="step1">Step 1</h1>

<div> some elements</div>

<a [routerLink]="['/']" fragment="step1" class="b_step1" title="Back to step 1">&#94;</a>   

<h1 id="step2">Step 2</h1>

<div> some elements</div>

, когда я должен использовать его в моем JS:

this.router.navigate(['/'],{fragment :"step2"});
...