我正在尝试将javascript对象的数据属性同步到Firebase。但是,当我将方法附加到我的对象时,Firebase会抛出错误:
错误:Firebase.set失败:第一个参数包含属性中的函数
我正在寻找一种很好的干净方式来同步我的对象,而不必删除所有方法,或在对象中创建data
属性。
var MyClass = function() {
this.foo = "bar"; // an example attribute. No problem for Firebase
}
// add a method. Firebase will throw an error because of this method.
MyClass.prototype.myMethod = function () {};
var myInstance = new MyClass();
firebase.database().ref().set(myInstance);
任何想要干净利落的方法来制作这样的作品吗?
答案 0 :(得分:2)
这应该可以解决问题:
var json = JSON.parse(JSON.serialize(myInstance));
firebase.database().ref().set(json);
但总的来说,我建议您将代码与数据分开。 Firebase数据库中的对象不应包含函数。