@@ -1589,13 +1589,14 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
1589
1589
1590
1590
// PRELINKING
1591
1591
for ( i = 0 , ii = preLinkFns . length ; i < ii ; i ++ ) {
1592
- try {
1593
- linkFn = preLinkFns [ i ] ;
1594
- linkFn ( linkFn . isolateScope ? isolateScope : scope , $element , attrs ,
1595
- linkFn . require && getControllers ( linkFn . directiveName , linkFn . require , $element , elementControllers ) , transcludeFn ) ;
1596
- } catch ( e ) {
1597
- $exceptionHandler ( e , startingTag ( $element ) ) ;
1598
- }
1592
+ linkFn = preLinkFns [ i ] ;
1593
+ invokeLinkFn ( linkFn ,
1594
+ linkFn . isolateScope ? isolateScope : scope ,
1595
+ $element ,
1596
+ attrs ,
1597
+ linkFn . require && getControllers ( linkFn . directiveName , linkFn . require , $element , elementControllers ) ,
1598
+ transcludeFn
1599
+ ) ;
1599
1600
}
1600
1601
1601
1602
// RECURSION
@@ -1609,13 +1610,14 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
1609
1610
1610
1611
// POSTLINKING
1611
1612
for ( i = postLinkFns . length - 1 ; i >= 0 ; i -- ) {
1612
- try {
1613
- linkFn = postLinkFns [ i ] ;
1614
- linkFn ( linkFn . isolateScope ? isolateScope : scope , $element , attrs ,
1615
- linkFn . require && getControllers ( linkFn . directiveName , linkFn . require , $element , elementControllers ) , transcludeFn ) ;
1616
- } catch ( e ) {
1617
- $exceptionHandler ( e , startingTag ( $element ) ) ;
1618
- }
1613
+ linkFn = postLinkFns [ i ] ;
1614
+ invokeLinkFn ( linkFn ,
1615
+ linkFn . isolateScope ? isolateScope : scope ,
1616
+ $element ,
1617
+ attrs ,
1618
+ linkFn . require && getControllers ( linkFn . directiveName , linkFn . require , $element , elementControllers ) ,
1619
+ transcludeFn
1620
+ ) ;
1619
1621
}
1620
1622
1621
1623
// This is the function that is injected as `$transclude`.
@@ -2076,6 +2078,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
2076
2078
function cloneAndAnnotateFn ( fn , annotation ) {
2077
2079
return extend ( function ( ) { return fn . apply ( null , arguments ) ; } , fn , annotation ) ;
2078
2080
}
2081
+
2082
+
2083
+ function invokeLinkFn ( linkFn , scope , $element , attrs , controllers , transcludeFn ) {
2084
+ try {
2085
+ linkFn ( scope , $element , attrs , controllers , transcludeFn ) ;
2086
+ } catch ( e ) {
2087
+ $exceptionHandler ( e , startingTag ( $element ) ) ;
2088
+ }
2089
+ }
2079
2090
} ] ;
2080
2091
}
2081
2092
0 commit comments