# `$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`

## Usage

    $interpolate(text[, mustHaveExpression]);

### Parameters

- `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.

### 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.