

画面のオートスクロール機能を作っているのですが、setIntervalで値変更チェックが行われる為、とても重くなってしまいます。  
オートスクロールではコンポーネントの値などが変わる事はないので、変更チェックは不要です。  
変更チェックを行わないsetInterval関数はないですか？


CC BY-SA 3.0
2016-12-25T04:39:31.230
31359
2017-01-25T11:22:07.573
19765
question
javascript angularjs typescript
【Angular2】setIntervalでコンポーネントの値変更チェックを行わない方法


`NgZone`クラスの`runOutsideAngular`メソッドを使って解決できるはずです。コンポーネントのDependency
Injectionで`NgZone`のインスタンスを取得してから利用します。

サンプル

[code]

    export class SomeCmp {
      constructor(private ngZone: NgZone) {}
    
      ngOnInit() {
        this.ngZone.runOutsideAngular(() => {
          setInterval(() => {})
        });
      }
    }
    
[/code]

<https://angular.io/docs/ts/latest/api/core/index/NgZone-
class.html#!#runOutsideAngular-anchor>


CC BY-SA 3.0
2016-12-25T15:03:10.497
31395
2016-12-25T15:03:10.497
4635
31359
answer