2017-06-09 6 views
0

からクラスのインスタンスを取得は、私はクラスを持っているfirebaseデシベル

class A { 
    var1: number; 
    var2: number; 

    sum(): number { 
    return var1+var2; 
    } 
} 

私は、このクラスのインスタンスを永続化するために好きで、データベースからそれらを取得すると思います。

問題は、データベースから取得するものがObject型で、var1とvar2を持っている間にsumを呼び出すとエラーが発生することです。

firebase get操作にコンストラクタを渡す方法はありますか?返されたオブジェクトをMyClassに変換する簡単な方法はありますか?

答えて

3

Firebaseデータベースには、JavaScriptオブジェクトではなくJSONデータが保存されます。 JSONデータとJavaScriptオブジェクトの違いの1つは、JSONデータで定義された関数をJSONデータに定義できないということです。

オブジェクトを取得する最も簡単な方法は、JSONをコンストラクタに渡して、Object.assign()のようなものでコピーすることです。

+0

私は、データベース自体がJSオブジェクトではなくJSONを格納することを理解しています。FBDBの適合レイヤーにコンストラクターを提供する方法がありますか –

関連する問題