aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPete Bacon Darwin2012-11-19 10:01:53 +0000
committerMisko Hevery2013-02-14 21:36:59 -0800
commitbb8448c011127306df08c7479b66e5afe7a0fa94 (patch)
tree36a5f069b3653d0716f57ee2fb265e4878b3edd6
parent2ed53087d7dd06d728e333a449265f7685275548 (diff)
downloadangular.js-bb8448c011127306df08c7479b66e5afe7a0fa94.tar.bz2
fix(compile): Initialize interpolated attributes before directive linking
-rw-r--r--src/ng/compile.js2
-rw-r--r--test/ng/compileSpec.js5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 32c1d1ca..b7eb759b 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -1037,7 +1037,7 @@ function $CompileProvider($provide) {
interpolateFn = $interpolate(attr[name], true);
}
- attr[name] = undefined;
+ attr[name] = interpolateFn(scope);
($$observers[name] || ($$observers[name] = [])).$$inter = true;
(attr.$$observers && attr.$$observers[name].$$scope || scope).
$watch(interpolateFn, function interpolateFnWatchAction(value) {
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index 3b69f609..da8f2f8c 100644
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -1381,9 +1381,10 @@ describe('$compile', function() {
}));
- it('should set interpolated attrs to undefined', inject(function($rootScope, $compile) {
+ it('should set interpolated attrs to initial interpolation value', inject(function($rootScope, $compile) {
+ $rootScope.whatever = 'test value';
$compile('<div some-attr="{{whatever}}" observer></div>')($rootScope);
- expect(directiveAttrs.someAttr).toBeUndefined();
+ expect(directiveAttrs.someAttr).toBe($rootScope.whatever);
}));