不知道它的一個bug或事物是如何意味着一種誤解工作:angular.copy與DisableSingleInstance模式解析JS SDK對象返回空對象
- 禁用單一實例模式
- 創建一個新的解析對象(或從服務器查詢一個對象)並填充屬性
- 複製對象(例如,如果您正在編輯表單上的屬性並希望保存/放棄更改的選項)
- 複製爲空。 ...
使用解析-JS-SDK 1.9.2和1.4.8角
//comment out the following line and it works ok
Parse.Object.disableSingleInstance();
var parseObjClass = Parse.Object.extend('Comments', {
// Instance methods
initialize: function (attrs, options) {}
},
{});
['name', 'desc'].forEach(function (item) {
Object.defineProperty(parseObjClass.prototype, item, {
get: function() {
return this.get(item);
},
set: function (aValue) {
return this.set(item, aValue);
}
});
});
var parseObj = new parseObjClass();
parseObj.name = 'Hello World'
parseObj.desc = 'Test Object'
console.log('original is ' + JSON.stringify(parseObj));
//--> original is {"name":"Hello World","desc":"Test Object"}
var objCopy = angular.copy(parseObj);
console.log('copy is ' + JSON.stringify(objCopy));
//--> copy is {}
這裏是示出https://plnkr.co/edit/UjWe9dl6D6Qkx9ihBSMC
背景plunker:我們使用disableSingleInstance模式,因爲我們有一個移動應用和AA web應用程序可以與相同的數據庫行(時間表數據)進行交互,並且與js-sdk有問題並不總是具有最新版本的數據...
你'parseObj'不會在登錄原包含'name'或'desc' ..不知道「Parse」對象如何工作,雖然 – tanmay
更新後的代碼片段包含完整的「parseObjClass」代碼,按照調度器 – simonberry
禁用單實例意味着您可以擁有獨立的對象實例,更新一個將*不*更新另一個。我覺得你的問題,你更喜歡保持單實例啓用。這並不意味着整個應用程序只能有一個參考。這意味着在該服務器上,任何對具有該Id的該類的ParseObject的引用都將具有與更新相同的數據。 –