Router.Navigate不调用组件中的服务

时间:2018-08-20 06:28:55

标签: angular service angular2-services

我有以下服务

@Injectable({
  providedIn: 'root'
})
export class LoggedInUserService {
constructor( ) {
    console.log('constructor call');
    }
 }

直接加载“ acctPage”页面(如进行刷新)时,将调用构造函数 但是当我被类似

的页面导航时
this.router.navigate(['/acctPage']);

构造函数不调用。

我已经在acctPage的构造函数中创建了一个对象

constructor(private ser serviceName)

我尝试创建一个项目 https://stackblitz.com/edit/angular-zje9ww?file=src%2Fapp%2Fapp.module.ts

但是由于我是新手,所以无法完成

我想念的东西

1 个答案:

答案 0 :(得分:2)

嗯,这很有意义,因为那就是构造函数的工作。构建页面时,它仅被调用一次,这就是刷新页面时被调用的原因。从现在开始,路由器将使用已构建的组件,无需每次单击路由器链接时都一次又一次地构建它。