我有一个对象 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") || [];
当我使用创建一个新的 Foo 对象时, foo 有一个按预期var foo = new Foo("bar")
调用的方法。getBar()
但是,当我检索已使用 amplify.store 保存的 Foo 时,该getBar()
方法不存在,并且该对象没有原型。
这是我的问题:有没有办法让 amplify.store 保留对象的原型,或者有没有一种在加载 fooArray 后重新分配该原型的好方法?