我有一个对象Foo,它有一个构造函数和一个原型定义:
var Foo = function Foo(bar) {
this._bar = bar;
}
Foo.prototype = {
_bar: null
getBar: function() {
return _bar;
}
}
我的应用程序有一个Foo对象数组,我使用amplify.store将它们存储在本地存储中。
// save
amplify.store("FOO_ARRAY", fooArray);
// load
fooArray = amplify.store("FOO_ARRAY") || [];
当我使用var foo = new Foo("bar")
创建一个新的Foo对象时,foo有一个名为getBar()
的方法。
但是,当我检索使用amplify.store保存的Foo时,getBar()
方法不存在,并且该对象没有原型。
这是我的问题:有没有办法让amplify.store保留对象的原型,或者在加载fooArray后有没有一种好方法重新分配该原型?
答案 0 :(得分:1)
来自amplifyjs:http://amplifyjs.com/api/store/
value:要存储的值。值可以是可以序列化为JSON的任何值。
Json不支持序列化功能。
您可以修改构造函数以获取de序列化数据并返回带有原型的实例。