fix(ngEventDirectives): parse expression only once during compile phase.

This commit is contained in:
Tobias Bosch 2013-10-31 11:13:56 -07:00
parent 3d6a89e888
commit 9a828738cd

View file

@ -41,13 +41,17 @@ forEach(
function(name) {
var directiveName = directiveNormalize('ng-' + name);
ngEventDirectives[directiveName] = ['$parse', function($parse) {
return function(scope, element, attr) {
var fn = $parse(attr[directiveName]);
element.on(lowercase(name), function(event) {
scope.$apply(function() {
fn(scope, {$event:event});
});
});
return {
compile: function($element, attr) {
var fn = $parse(attr[directiveName]);
return function(scope, element, attr) {
element.on(lowercase(name), function(event) {
scope.$apply(function() {
fn(scope, {$event:event});
});
});
};
}
};
}];
}