Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在初始化服务时执行一些代码_Javascript_Angular - Fatal编程技术网

Javascript 在初始化服务时执行一些代码

Javascript 在初始化服务时执行一些代码,javascript,angular,Javascript,Angular,在初始化服务时是否可以执行一些代码。例如,在初始化服务产品服务时,我希望执行以下代码: this.var = this.sharedService.aVar; 我建议你仔细阅读一下。虽然在构造函数中是一个选项,但最好将代码保持在仅限于变量初始化的状态,并使用ngOnInit生命周期挂钩来完成类初始化工作。两者都是一种选择,但了解生命周期挂钩是解决您的问题和思考您希望在哪里这样做的一个很好的起点 除了构造函数之外,服务没有生命周期挂钩 组件/指令支持生命周期挂钩 可注入类是普通类(普通对象),因

在初始化服务时是否可以执行一些代码。例如,在初始化服务产品服务时,我希望执行以下代码:

this.var = this.sharedService.aVar;

我建议你仔细阅读一下。虽然在构造函数中是一个选项,但最好将代码保持在仅限于变量初始化的状态,并使用ngOnInit生命周期挂钩来完成类初始化工作。两者都是一种选择,但了解生命周期挂钩是解决您的问题和思考您希望在哪里这样做的一个很好的起点

除了构造函数之外,服务没有生命周期挂钩

组件/指令支持生命周期挂钩

可注入类是普通类(普通对象),因此,它们没有特殊的生命周期

@Injectable()
   export class SampleService {
    constructor() {
        console.log('Sample service is created');
        //Do whatever you need when initialized.
    }
}
类的构造函数被调用,所以这就是“OnInit”的含义。至于销毁,服务并不会真正被销毁

其中一个服务需要另一个服务使用


将它放在
productService
constructor
中,答案肯定会有所帮助。只需更新生命周期挂钩URL。由于URL无效,它当前正在重定向到错误页。干杯生命周期挂钩仅适用于组件和指令。我想这里OP指的是一种服务。你可以按勾号。在答案旁边显示。
@Injectable()
export class HeroService { 


private yourVariable: any;
constructor(private sharedService: sharedService) {
  this.yourVariable = this.sharedService.aVar;
}