From fd3071843ca53a34a084f5d495f9f0aea82f2ef5 Mon Sep 17 00:00:00 2001
From: Xiangru Chen
Date: Sat, 14 Jul 2012 17:40:24 +0800
Subject: fix(ngSrc): don't set src if value is empty string
Current implementation of ngSrc may lead to empty src attribute when page is loading.
For example:
can be temporarily rendered as
before the image resource is loaded.
Some browser emits a request to the current page when seeing
(Firefox13 and IE8 will, Chromium20 won't), which leads to performance problems.
---
src/ng/directive/booleanAttrs.js | 3 +++
1 file changed, 3 insertions(+)
(limited to 'src/ng/directive/booleanAttrs.js')
diff --git a/src/ng/directive/booleanAttrs.js b/src/ng/directive/booleanAttrs.js
index cce10a3b..2cc26ce7 100644
--- a/src/ng/directive/booleanAttrs.js
+++ b/src/ng/directive/booleanAttrs.js
@@ -302,6 +302,9 @@ forEach(['src', 'href'], function(attrName) {
priority: 99, // it needs to run after the attributes are interpolated
link: function(scope, element, attr) {
attr.$observe(normalized, function(value) {
+ if (!value)
+ return;
+
attr.$set(attrName, value);
// on IE, if "ng:src" directive declaration is used and "src" attribute doesn't exist
--
cgit v1.2.3