Skip to content

Instantly share code, notes, and snippets.

@domenic
Created February 24, 2012 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save domenic/1903866 to your computer and use it in GitHub Desktop.
Save domenic/1903866 to your computer and use it in GitHub Desktop.
Knockout observableFromProperty
var ko = require("knockout");
// TODO both of these leak memory :(. Neither subscription ever goes away.
exports.observableFromProperty = function (object, propertyName) {
var observable = ko.observable(object[propertyName]);
observable.subscribe(function (newValue) {
object[propertyName] = newValue;
});
return observable;
};
exports.observableFromChangingProperty = function (object, propertyName) {
var observable = exports.observableFromProperty(object, propertyName);
object.on(propertyName + "Change", function (newValue) {
observable(newValue);
});
return observable;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment