@@ -552,22 +552,32 @@ angular.module('ngMessages', [])
552
552
$templateRequest ( src ) . then ( function ( html ) {
553
553
if ( $scope . $$destroyed ) return ;
554
554
555
- $compile ( html ) ( $scope , function ( contents ) {
556
- element . after ( contents ) ;
557
-
558
- // the anchor is placed for debugging purposes
559
- var comment = $compile . $$createComment ?
560
- $compile . $$createComment ( 'ngMessagesInclude' , src ) :
561
- $document [ 0 ] . createComment ( ' ngMessagesInclude: ' + src + ' ' ) ;
562
- var anchor = jqLite ( comment ) ;
563
- element . after ( anchor ) ;
564
-
565
- // we don't want to pollute the DOM anymore by keeping an empty directive element
566
- element . remove ( ) ;
567
- } ) ;
555
+ if ( isString ( html ) && ! html . trim ( ) ) {
556
+ // Empty template - nothing to compile
557
+ replaceElementWithMarker ( element , src ) ;
558
+ } else {
559
+ // Non-empty template - compile and link
560
+ $compile ( html ) ( $scope , function ( contents ) {
561
+ element . after ( contents ) ;
562
+ replaceElementWithMarker ( element , src ) ;
563
+ } ) ;
564
+ }
568
565
} ) ;
569
566
}
570
567
} ;
568
+
569
+ // Helpers
570
+ function replaceElementWithMarker ( element , src ) {
571
+ // A comment marker is placed for debugging purposes
572
+ var comment = $compile . $$createComment ?
573
+ $compile . $$createComment ( 'ngMessagesInclude' , src ) :
574
+ $document [ 0 ] . createComment ( ' ngMessagesInclude: ' + src + ' ' ) ;
575
+ var marker = jqLite ( comment ) ;
576
+ element . after ( marker ) ;
577
+
578
+ // Don't pollute the DOM anymore by keeping an empty directive element
579
+ element . remove ( ) ;
580
+ }
571
581
} ] )
572
582
573
583
/**
0 commit comments