Scope and Subscribing to an Observable
http://stackoverflow.com/questions/16587820/how-to-detect-the-observable-property-that-was-called-in-manual-subscriptions
by tlarson
HTML
<script src="https://raw.github.com/SteveSanderson/knockout.mapping/master/build/output/knockout.mapping-latest.js"></script>
JavaScript
var dataFromServer = {
FirstName: "John",
LastName: "Smith"
};
function subscribeWithName(propName, observable) {
var closureProp = propName;
observable.subscribe(function(newValue) {
alert("New value is: " + newValue);
alert("Property that called: " + closureProp);
});
}
var GetInformedOnChange = function () {
var self = this;
this.Data = ko.mapping.fromJS(dataFromServer);
for(var prop in this.Data) {
if(self.Data.hasOwnProperty(prop) && prop != "__ko_mapping__") {
subscribeWithName(prop, self.Data[prop]);
}
}
};
var foo = new GetInformedOnChange();
foo.Data.FirstName("Sam");