Improve this Doc View Source

## Overview

Used for configuring the interpolation markup. Defaults to `{{` and `}}`.

This feature is sometimes used to mix different markup languages, e.g. to wrap an AngularJS template within a Python Jinja template (or any other template language). Mixing templating languages is very dangerous. The embedding template language will not safely escape AngularJS expressions, so any user-controlled values in the template will cause Cross Site Scripting (XSS) security bugs!

## Methods

- ###

  `startSymbol([value]);`

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

  #### Parameters

  Param | Type | Details
  --- | --- | ---
  value (optional) | string | new value to set the starting symbol to.

  #### Returns

  string self | Returns the symbol when used as getter and self if used as setter.

- ###

  `endSymbol([value]);`

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

  #### Parameters

  Param | Type | Details
  --- | --- | ---
  value (optional) | string | new value to set the ending symbol to.

  #### Returns

  string self | Returns the symbol when used as getter and self if used as setter.

## Example

    <script>
      var customInterpolationApp = angular.module('customInterpolationApp', []);

      customInterpolationApp.config(function($interpolateProvider) {
        $interpolateProvider.startSymbol('//');
        $interpolateProvider.endSymbol('//');
      });

      customInterpolationApp.controller('DemoController', function() {
          this.label = "This binding is brought you by // interpolation symbols.";
      });
    </script>
    <div ng-controller="DemoController as demo">
        //demo.label//
    </div>

    it('should interpolate binding with custom symbols', function() {
      expect(element(by.binding('demo.label')).getText()).toBe('This binding is brought you by // interpolation symbols.');
    });