クラス オブジェクト <T,RequiredProperties>

Realm オブジェクトの基本クラス。

必要な プロパティと プロパティを持つクラスPerson nameagestatic schemaを定義するには、 を定義します。

class Person extends Realm.Object<Person> {
_id!: Realm.BSON.ObjectId;
name!: string;
age!: number;
static schema: Realm.ObjectSchema = {
name: "Person",
primaryKey: "_id",
properties: {
_id: "objectId",
name: "string",
age: "int",
},
};
}

@realm/base- Plugin を使用する場合: 必須の プロパティと プロパティを持つクラスPerson nameageを定義するには、Typescript のみのモデル定義を許可するように構築されるときに、型引数でそれらを指定する必要があります。 :

class Person extends Realm.Object<Person, "name" | "age"> {
_id = new Realm.Types.ObjectId();
name: Realm.Types.String;
age: Realm.Types.Int;
static primaryKey = "_id";
}

詳細は、次を参照してください:

ObjectSchema

型パラメーター

T - このクラスのタイプ(たとえば、クラスが Person の場合、TPerson である必要があります。この重複は、 Typescriptの動作方法により必要になります)

型パラメーター

RequiredProperties - インスタンスがnewで構築されているときに必要なこのクラスのプロパティの名前。 指定されていないプロパティは任意であり、他にデフォルトが指定されていない場合は、認識可能な null 値がデフォルトで設定されます。

型パラメータ

コンストラクター

プロパティ

値の配列を許可: ブール値 =false
非対称?: ブール値

オプションで、 @realm/base- Pluginを使用するときに Flexible Sync を使用する場合、スキーマが一方向に同期する必要があることを指定します。

埋め込み?: ブール値

オプションで、 @realm/bael- Pluginを使用するときに、スキーマが埋め込みスキーマであることを指定します。

プライマリキー?: string

オプションで、 @realm/base- Pluginを使用するときにスキーマのプライマリキーを指定します。

メソッド

  • ライブオブジェクト インスタンスが変更されたときに呼び出されるリスナーcallbackを追加します。

    パラメーター

    • コールバック: Objectchangeコールバック< T >

      変更が発生したときに呼び出される関数。

    • Optional keyPaths : string | string []

      リスナーに関連する変更の下限を示します。 これは下限値です。これは、複数のリスナーが追加されている場合(それぞれが独自のkeyPathsを持つもの)、これらのキーパスの和集合によって、オブジェクトに登録されているすべてのリスナーに関連すると見なされる変更が決定されるためです。 言い換えれば、キーパスが異なる他のリスナーが存在する場合、キーパスで指定された数より多くのリスナーが起動する可能性があります。

    Returns void

    スロー

    callbackが関数でない場合の TypeAssertionError 。

    wine.addListener((obj, changes) => {
    // obj === wine
    console.log(`object is deleted: ${changes.deleted}`);
    console.log(`${changes.changedProperties.length} properties have been changed:`);
    changes.changedProperties.forEach(prop => {
    console.log(` ${prop}`);
    });
    })

    wine.addListener((obj, changes) => {
    console.log("The wine got deleted or its brand might have changed");
    }, ["brand"])

    注意

    リスナーの追加は非同期操作であるため、コールバックが初めて呼び出され、リスナーが追加されたときを呼び出し元に通知します。 したがって、コールバックが初めて呼び出されると、 changes.changedPropertiesの空の配列が含まれます。

  • プロパティ値の基礎となる型を取得します。

    パラメーター

    • propertiesName : string

      タイプを検索するプロパティの名前。

    string を返します

    プロパティ値の基礎となるタイプ。

    スロー

    プロパティが存在しない場合はエラー。

  • このオブジェクトが削除されておらず、有効な Realm の一部であるかどうかを確認します。

    ブール値を返します

    true オブジェクトに安全にアクセスできる場合は 、アクセスできない場合はfalse

  • このオブジェクトからリスナーcallbackを削除します。

    パラメーター

    • コールバック: Objectchangeコールバック< T >

      以前にリスナーとして追加された関数

    Returns void

    スロー

    callbackが関数でない場合の TypeAssertionError 。

TypeDocを使用して生成