私は、モジュールの表示パターンを使用して実装されたViewModelを持っています。私はグローバルなノックアウトを利用して、これらの間でデカップリングされたデータの受け渡しを実現しています。私はマスターのViewModel内のViewModelのインスタンスを作成している今、何をやっている:モジュール作成時にko.subscribableへのサブスクリプションを初期化する
NameSpace.MasterViewModel = function(){
var viewModel = new viewModel(),
initSubscription = function(){
viewModel.initSubscription();
};
return {
initSubscription: initSubscription
}
}
そして、このようなビューモデルでサブスクリプションを初期化します
NameSpace.ViewModel = function(){
var data,
initSubscription = function(){
ko.postbox.subscribe("New Data"function(newData){
this.data = newData;
}, this);
};
return {
data: data,
initSubscription: initSubscription
}
}
これは動作しますが、私が知りたいですViewModelの作成時にサブスクリプションを初期化する方法があれば?私はpublic初期化関数を避けることができます。
'ViewModel'コンストラクタ関数が実行されたときだけ' initSubscription'を実行できませんか? – Jeroen