如何使用TypeScript将数据保存到服务?
如果我有这样的服务:
class MyService {
persistentData: Object;
constructor() {
this.init();
}
private init = (): void => {
this.persistentData = {};
}
public saveData = (data): Object {
this.persistentData = data;
}
}
我如何通过不同的路线保持数据的一致性?每次调用新路由时,都会再次实例化服务类,并将persistentData对象重置为空白。通常在常规JavaScript中你可以这样做:
angular
.factory('myFactory', function() {
var persistentData = {};
return {
setFormData: function(newData) {
persistentData = newData;
}
}
})
这很有效。我一定错过了什么,有人可以帮忙吗?
答案 0 :(得分:1)
如果要使用类,请将属性设置为静态,以便可以在类的所有实例之间共享它,并且每次创建新实例时都不要将其设置回{}
:
class MyService {
static persistentData: any = {};
saveData = (data: any) => {
MyService.persistentData = data;
}
}