1

我正在关注这个 auth0 教程,它在那里说:

身份验证服务的 handleAuth() 方法必须在 app.component.ts 构造函数中调用,这样它将在我们的应用程序初始化时运行:

// src/app/app.component.ts
import { AuthService } from './auth/auth.service';
...
  constructor(private auth: AuthService) {
    // Check for authentication and handle if hash present
    auth.handleAuth();
  }
...

但是,像这样的文档和答案说:

大多数情况下,我们ngOnInit用于所有初始化/声明,并避免在构造函数中工作。构造函数应该只用于初始化类成员,而不应该做实际的“工作”。

在本教程中,作者确实在 app.component.ts 上使用了 ngOnInit 来运行处理布局响应部分的代码:

// src/app/app.component.ts
 ngOnInit() {
      Observable.fromEvent(window, 'resize')
        .debounceTime(200)
        .subscribe((event) => this._resizeFn(event));

      this._initWinHeight = window.innerHeight;
      this._resizeFn(null);

    }

为什么要使用不同的初始化方法?在这种情况下,构造函数内部的函数调用是否有某种用途?

而且,如果我说错了,请纠正我。我是新手。任何输入表示赞赏。

4

0 回答 0