使用打字稿的变量声明
variableName: any;
构造
constructor(private _data?: IInterface) {
if (_data) {
this.variableName = this.tokoObservable(_data.variableName);
}
}
tokoObservable FN
private tokoObservable(data: string): ko.Observable<any> {
let obj = data? JSON.parse(data) : { };
let output = ko.observable<any>({});
for (let prop in obj) {
output[prop] = ko.observable<any>(obj[prop]);
}
return output;
}
解释
此代码创建可观察的属性并将它们放入variableName。
这些属性是可观察的,因此当我更改内容时,它们会更新。
当我想要查看整个对象的JSON时,问题出现了。
ko.toJSON(variableName)
返回空{}
然而
ko.toJSON(variableName.propertyName())
返回属性的值。
我想要的是返回整个对象的JSON字符串
{"propertyName": "propertyValue}
答案 0 :(得分:0)
以下是我所做的改变,使其能够发挥作用。
private tokoObservable(data: string): any {
let obj = data? JSON.parse(data) : {};
let output = {};
for (let prop in obj) {
output[prop] = ko.observable<any>(obj[prop]);
}
return output;
}