@@ -174,15 +174,32 @@ function $InterpolateProvider() {
174
174
175
175
var lastValues = [ ] ;
176
176
var lastResult ;
177
+
177
178
var compute = function ( values ) {
178
179
for ( var i = 0 , ii = expressions . length ; i < ii ; i ++ ) {
179
180
concat [ 2 * i ] = separators [ i ] ;
180
- concat [ ( 2 * i ) + 1 ] = stringify ( values [ i ] ) ;
181
+ concat [ ( 2 * i ) + 1 ] = values [ i ] ;
181
182
}
182
183
concat [ 2 * ii ] = separators [ ii ] ;
183
184
return concat . join ( '' ) ;
184
185
} ;
185
186
187
+ var stringify = function ( value ) {
188
+ if ( trustedContext ) {
189
+ value = $sce . getTrusted ( trustedContext , value ) ;
190
+ } else {
191
+ value = $sce . valueOf ( value ) ;
192
+ }
193
+
194
+ if ( value === null || isUndefined ( value ) ) {
195
+ value = '' ;
196
+ } else if ( typeof value != 'string' ) {
197
+ value = toJson ( value ) ;
198
+ }
199
+
200
+ return value ;
201
+ } ;
202
+
186
203
return extend ( function interpolationFn ( context ) {
187
204
var i = 0 ;
188
205
var ii = expressions . length ;
@@ -192,7 +209,7 @@ function $InterpolateProvider() {
192
209
193
210
try {
194
211
for ( ; i < ii ; i ++ ) {
195
- val = parseFns [ i ] ( context ) ;
212
+ val = stringify ( parseFns [ i ] ( context ) ) ;
196
213
if ( val !== lastValues [ i ] ) {
197
214
inputsChanged = true ;
198
215
}
@@ -217,22 +234,6 @@ function $InterpolateProvider() {
217
234
expressions : expressions
218
235
} ) ;
219
236
}
220
-
221
- function stringify ( value ) {
222
- if ( trustedContext ) {
223
- value = $sce . getTrusted ( trustedContext , value ) ;
224
- } else {
225
- value = $sce . valueOf ( value ) ;
226
- }
227
-
228
- if ( value === null || isUndefined ( value ) ) {
229
- value = '' ;
230
- } else if ( typeof value != 'string' ) {
231
- value = toJson ( value ) ;
232
- }
233
-
234
- return value ;
235
- }
236
237
}
237
238
238
239
0 commit comments