I have ViewModels that are implemented using the Revealing Module Pattern. I am using global knockout subscribable to achieve decoupled passing of data between these. What i am doing now is, creating an instance of a ViewModel in a master-ViewModel:
NameSpace.MasterViewModel = function(){
var viewModel = new viewModel(),
initSubscription = function(){
viewModel.initSubscription();
};
return {
initSubscription: initSubscription
}
}
And initializes a subscription in ViewModel like this:
NameSpace.ViewModel = function(){
var data,
initSubscription = function(){
ko.postbox.subscribe( "New Data"function(newData){
this.data = newData;
}, this);
};
return {
data: data,
initSubscription: initSubscription
}
}
This works, but I want to know if there is a way to initialize the subscription at creation of ViewModel? So that I can avoid a public initialization function.