在ngOnInit中加入self方法后,无法访问类中的函数 [重复] 。

问题描述 投票:0回答:1

示例.组件.ts

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  selector: 'app-sample',
  templateUrl: './sample.component.html',
  styleUrls: ['./sample.component.scss']
})
export class Sample implements OnInit {
  closeResult: string;
  focuscount:number=0;
  fcount:any;

  constructor(private router: Router) {
    ngOnInit() {
      let self = this;
      function final(){
      setTimeout(() => {
      self.router.navigate(['pattern']);
      }, 120000);
    }
  **Checking screen focus**  
  function onBlur() {
    document.body.className = 'blurred';
    focuscount+=focuscount
    if(this.focuscount>=3){
    console.log("Inside focuscount");
    final();

}
};
}

无法访问该函数。得到错误信息无法找到名称'finalclose'。

finalclose(){
  alert("closed");

}
}

我试图在条件满足时重定向到模式页面。我得到的是类型错误。请帮助我解决它。

先谢谢你

angular typescript
1个回答
2
投票

你不能在 arrow 功能改成

 ngOnInit() {
    let self = this;
    function final(){
    setTimeout(() => {
      self.router.navigate(['pattern']);
  }, 120000);
© www.soinside.com 2019 - 2024. All rights reserved.