Skip to content

Instantly share code, notes, and snippets.

@melanke
Forked from eligrey/object-watch.js
Created January 17, 2012 17:32
Show Gist options
  • Select an option

  • Save melanke/1627705 to your computer and use it in GitHub Desktop.

Select an option

Save melanke/1627705 to your computer and use it in GitHub Desktop.
watch the changes of some object or attribute
@penartur
Copy link
Copy Markdown

It is not that obvious from the readme that watchAll only watches for properties that were defined at the moment of call to watchAll.

E.g.

var obj = {
    attr1: 0,
};

ex3.watch(function(){
    alert("Something was changed");
});

ex3.attr0 = 1; //triggers the observer; the alert is shown.
ex3.attr1 = 1; //does not trigger the observer; the alert is not shown.

@melanke
Copy link
Copy Markdown
Author

melanke commented Oct 18, 2012

@penartur it is explained in the paragraph "Chill out, no surprises, new attributes will not be considered"

@hellodaylight
Copy link
Copy Markdown

This is really useful. Thanks. One question: when watching more than one properties, is there a way to see what and how it was changed? i.e.:

o.watch(["x","y","z"], function (id, oldval, newval) {
console.log( "o." + id + " changed from " + oldval + " to " + newval );
});

@melanke
Copy link
Copy Markdown
Author

melanke commented Nov 10, 2012

With the new version of Watch.JS it is possible

Here is a sample:
http://jsfiddle.net/XnbXS/1/

Read the short-full-documentation:
https://github.com/melanke/Watch.JS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment