diff --git a/src/ng/directive/ngBind.js b/src/ng/directive/ngBind.js index 3c4a7d43ac9c..4f6d49aac3fb 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 c83c8c8516bd..ad4d30fff44a 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('
hello
'); })); + + + it('should reset html when value is null or undefined', inject(function($compile, $rootScope) { + element = $compile('
')($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(''); + }); + })); });