View source Improve this doc

# `$interpolate`
service in module `ng`

## Description

Compiles a string with markup into an interpolation function. This service is used by the HTML `$compile` service for data binding. See `$interpolateProvider` for configuring the interpolation markup.

             var $interpolate = ...; // injected
             var exp = $interpolate('Hello {{name}}!');
             expect(exp({name:'Angular'}).toEqual('Hello Angular!');

## Dependencies

- `$parse`
- `$sce`

## Usage

    $interpolate(text[, mustHaveExpression][, trustedContext]);

#### Parameters

Param | Type | Details
--- | --- | ---
text | string | The text with markup to interpolate.
mustHaveExpression (optional) | boolean | if set to true then the interpolation string must have embedded expression in order to return an interpolation function. Strings with no embedded expression will return null for the interpolation function.
trustedContext (optional) | string | when provided, the returned function passes the interpolated result through `$sce.getTrusted(interpolatedResult, trustedContext)` before returning it. Refer to the `$sce` service that provides Strict Contextual Escaping for details.

#### Returns

function(context)

an interpolation function which is used to compute the interpolated string. The function has these parameters:

- `context`: an object against which any expressions embedded in the strings are evaluated against.

## Methods

- ### endSymbol()

  Symbol to denote the end of expression in the interpolated string. Defaults to `}}`.

  Use `$interpolateProvider#endSymbol` to change the symbol.

  ##### Returns

  string | start symbol.

- ### startSymbol()

  Symbol to denote the start of expression in the interpolated string. Defaults to `{{`.

  Use `$interpolateProvider#startSymbol` to change the symbol.

  ##### Returns

  string | start symbol.