diff options
| author | Misko Hevery | 2011-08-12 08:57:21 -0700 | 
|---|---|---|
| committer | Misko Hevery | 2011-08-12 15:48:12 -0700 | 
| commit | 13e7df68a65b0dd2eb4eed673f7b8e3e702d72a9 (patch) | |
| tree | 011b94faf6765790eea9df97f94d8c9cca96dc57 /src/widgets.js | |
| parent | 42062dab34192d2cb9ed66a720c0f791408c61c0 (diff) | |
| download | angular.js-13e7df68a65b0dd2eb4eed673f7b8e3e702d72a9.tar.bz2 | |
perf(scope): re-enable statement cacheing
Diffstat (limited to 'src/widgets.js')
| -rw-r--r-- | src/widgets.js | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/src/widgets.js b/src/widgets.js index 3d034fc5..d9af21c9 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -526,23 +526,21 @@ function inputWidget(events, modelAccessor, viewAccessor, initFn, textBox) {      var scope = this,          model = modelAccessor(scope, element),          view = viewAccessor(scope, element), -        action = element.attr('ng:change') || noop, +        ngChange = element.attr('ng:change') || noop,          lastValue;      if (model) {        initFn.call(scope, model, view, element);        scope.$eval(element.attr('ng:init') || noop);        element.bind(events, function(event){          function handler(){ -          scope.$apply(function() { -            var value = view.get(); -            if (!textBox || value != lastValue) { -              model.set(value); -              lastValue = model.get(); -              scope.$eval(action); -            } -          }); +          var value = view.get(); +          if (!textBox || value != lastValue) { +            model.set(value); +            lastValue = model.get(); +            scope.$eval(ngChange); +          }          } -        event.type == 'keydown' ? $defer(handler) : handler(); +        event.type == 'keydown' ? $defer(handler) : scope.$apply(handler);        });        scope.$watch(model.get, function(scope, value) {          if (!equals(lastValue, value)) {  | 
