Angular: Watching widget attr

http://angularjs.org/

HTML

<script type="text/javascript" ng:autobind src="http://code.angularjs.org/0.9.19/angular-0.9.19.js"></script>

<ng:alert watched="value" msg="message"></ng:alert>
<input name="value" value="init" />
<input name="message" value="Initial message" />

JavaScript

angular.widget('ng:alert', function(elm) {
    var watched = elm.attr('watched'),
        msg = elm.attr('msg');

    return function() {
        var scope = this;
        this.$watch(watched, function(newV) {
            if (newV != Math.NaN) alert('Changed to ' + newV + '\n' + scope.$eval(msg));
        });
    };
});