为了解决该问题,我们需要将类变量改为实例变量,即使用构造函数进行实例化。示例代码如下所示:
@Injectable({
providedIn: 'root'
})
export class DataService {
private data: any[];
constructor() {
this.data = [];
}
public setData(newData: any): void {
this.data = newData;
}
public getData(): any[] {
return this.data;
}
}
在上面的代码中,我们使用构造函数来实例化类变量 "data",使其成为 DataService 的实例变量。这样,每次我们从另一个组件中调用该服务时,其值将保持不变。
然后,我们可以使用 setData() 和 getData() 方法来设置和获取数据。 这些方法将与特定的 DataService 实例绑定,从而确保数据不会丢失。