0
我的问题返回常量数据: 我想在一个单独的文件默认的数据,所以我可以把它重新设置为默认值,如果我想,但常数数据得到更新。Angular2修改从服务
我可以硬编码值直接在构造函数中,但会阻止我使用相同的“空白状态”在不同的模块。
流速:
- 数据在常量变量是那些获得出口
export const CONST_DATA: ConstDataStructure {
item1: 'Basic String 1',
item2: 'Basic String 2'
item3: 'Basic String 3'
}
- 服务返回该数据的无极。
- 设置服务在构造内的私人项。
- 但仍然ngModel更新data.blank.ts(???)
import { CONST_DATA } from './data.blank';
@Injectable()
export class DataService {
getDefaultValue() {
return Promise.resolve(CONST_DATA)
}
}
export class App implements OnInit {
defaultData: ConstDataStructure;
constructor(private dataService: DataService) {}
ngOnInit() {
this.resetDefaultData();
}
resetDefaultData() {
this.dataService.getDefaultValue().then(data => {
this.defaultData = data;
console.log("Return of the Promeses should have been resseting my data to the default???");
});
}
}
问题:为什么可以ngModel更新私人服务是得到从承诺返回非同步引用一个恒?
什么是错的,我怎么能解决这个问题。见plnk exemple here:对于完全跑步为例。
好了,是的,它的工作,但我觉得这更多的是补丁比“角度”的做法更好。 – MatMath
这只是一个例子。只要你明白出了什么问题,你就可以相应地重构你的代码。在你的情形中,从服务到组件你一路/角被设置为同一个对象的新引用。 – Avi