Router.Navigate 不调用组件中的服务
Router.Navigate does not call service in component
我有以下服务
@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
但是由于我是新手无法完成这个
我错过了什么
嗯,这确实有意义,因为构造函数就是这样做的。它只在页面构建时被调用一次,这就是为什么当你刷新页面时它被调用的原因。从现在开始,路由器将使用构建的组件,而无需在每次单击路由器 link 时一次又一次地构建它。
我有以下服务
@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
但是由于我是新手无法完成这个
我错过了什么
嗯,这确实有意义,因为构造函数就是这样做的。它只在页面构建时被调用一次,这就是为什么当你刷新页面时它被调用的原因。从现在开始,路由器将使用构建的组件,而无需在每次单击路由器 link 时一次又一次地构建它。