Aureliaプロジェクトでは、ルータのナビゲーションの間に状態を維持したいビューモデルがあります。私は@singleton()
を私のビューモデルクラスに加えるとこれを達成すると思った。Aurelia Singleton Viewモデル
実際、私はこれが機能する簡単なAureliaプロジェクトを作成しました。私は同じページに戻ったり離れたりすることができ、状態は維持されます。私のコンストラクタは、初めてそのページに移動するときに呼び出されます。
import { singleton } from 'aurelia-framework';
@singleton()
export class Welcome {
heading = 'Welcome to the Aurelia Navigation App!';
constructor() {
console.log('constructor');
}
activate() {
console.log('activate');
}
attached() {
console.log('attached');
}
}
しかし、私の大きなアプリケーションでは、これは機能しません。デコレータを追加して、ビューモデルのコンストラクタを2回目に呼び出すと、そのページに移動します。 (私はこのビューモデルを私の大きなアプリケーションにコピーしたこともあり、シングルトンとしては扱われません)
明らかに、これらの2つのプロジェクトでは、何かが異なる必要があります。しかし、私は違いは見ません。 @singleton()
の動作を上書きする設定がありますか?
https://github.com/aurelia/dependency-injection/issues/65 –