aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ng/directive/ngBind.js7
-rw-r--r--test/ng/directive/ngBindSpec.js15
2 files changed, 18 insertions, 4 deletions
diff --git a/src/ng/directive/ngBind.js b/src/ng/directive/ngBind.js
index 3c4a7d43..4f6d49aa 100644
--- a/src/ng/directive/ngBind.js
+++ b/src/ng/directive/ngBind.js
@@ -73,7 +73,7 @@ var ngBindDirective = ngDirective(function(scope, element, attr) {
var ngBindHtmlUnsafeDirective = ngDirective(function(scope, element, attr) {
element.addClass('ng-binding').data('$binding', attr.ngBindHtmlUnsafe);
scope.$watch(attr.ngBindHtmlUnsafe, function(value) {
- element.html(value == undefined ? '' : value);
+ element.html(value || '');
});
});
@@ -96,9 +96,8 @@ var ngBindHtmlDirective = ['$sanitize', function($sanitize) {
return function(scope, element, attr) {
element.addClass('ng-binding').data('$binding', attr.ngBindHtml);
scope.$watch(attr.ngBindHtml, function(value) {
- if (value = $sanitize(value)) {
- element.html(value);
- }
+ value = $sanitize(value);
+ element.html(value || '');
});
}
}];
diff --git a/test/ng/directive/ngBindSpec.js b/test/ng/directive/ngBindSpec.js
index c83c8c85..ad4d30ff 100644
--- a/test/ng/directive/ngBindSpec.js
+++ b/test/ng/directive/ngBindSpec.js
@@ -82,6 +82,21 @@ describe('ng-bind-*', function() {
$rootScope.$digest();
expect(lowercase(element.html())).toEqual('<div>hello</div>');
}));
+
+
+ it('should reset html when value is null or undefined', inject(function($compile, $rootScope) {
+ element = $compile('<div ng-bind-html="html"></div>')($rootScope);
+
+ forEach([null, undefined, ''], function(val) {
+ $rootScope.html = 'some val';
+ $rootScope.$digest();
+ expect(lowercase(element.html())).toEqual('some val');
+
+ $rootScope.html = val;
+ $rootScope.$digest();
+ expect(lowercase(element.html())).toEqual('');
+ });
+ }));
});