2

私はmobxライブラリを使用しています。ReactJS によく合います。私は次のような観察可能な配列を持っています:

@observable items = [];

この方法でオブジェクトを追加すると、問題はなく、指定されたオブジェクトは期待どおりに観察可能になります。

let x = {
Title: "sample title"
}

items.push(x);

しかし、強く型付けされたオブジェクトを定義するとき (typescript を使用)

export class SampleObject {
    Title: string;
    constructor(title: string) {
        this.Title = title;
    }   
}

このように新しいオブジェクトをプッシュすると、観測できなくなります

items.push(new SampleObject("Sample Title"));

どうすればこの問題を解決できますか!?

x と y の違いは何ですか?!

var x = {
Title: "sample"
}

var y = new SampleObject("sample");
4

1 に答える 1

4

MobX は、プレーン オブジェクトを配列などに割り当てるときにのみ、プレーン オブジェクトを自動的に監視可能なオブジェクトに変換します。

したがって、クラスでは、フィールド (タイトル) にもマークを付けるだけで、準備完了@observableです。参照: https://mobxjs.github.io/mobx/refguide/object.htmlの 2 番目の箇条書き

于 2016-10-10T13:54:10.060 に答える