それぞれDS.Model
にプライベート変数を保存します。その目的は保留中のコールバックを保存することです(キャンセルしたい場合に備えて)。Ember-data DS.Modelのプライベート変数
私はこれを試してみました(とそれが動作します):
DS.Model.reopen({
init() {
let _pending; // my private var
this._getPending =() => _pending; // get private var
this._setPending = callback => _pending = callback; // set private var
this._super(...arguments);
}
});
私はinitializer
でこれを置いている、と私はそれが期待通りに動作します。
私の質問は次のとおりです。これは良い方法ですか?それは何かを台無しにする可能性がありますか? ...そして、より良い方法がありますか?
個人的には、私はそれがうまくいく方法に満足しています。しかし、私は "Ember"の方法ではわかりません。これはEmber-cliアドオンに入る予定ですので、可能な限りベストプラクティスにしたいと思います。 (_getPending
/_setPending
メソッドは、アドオン内でのみ使用されます)