Improve this Doc View Source

## Overview

Converts AngularJS expression into a function.

    var getter = $parse('user.name');
    var setter = getter.assign;
    var context = {user:{name:'AngularJS'}};
    var locals = {user:{name:'local'}};

    expect(getter(context)).toEqual('AngularJS');
    setter(context, 'newValue');
    expect(context.user.name).toEqual('newValue');
    expect(getter(context, locals)).toEqual('local');

## Usage

`$parse(expression);`

### Arguments

Param | Type | Details
--- | --- | ---
expression | string | String expression to compile.

### Returns

function(context, locals)

a function which represents the compiled expression:

- `context` – `{object}` – an object against which any expressions embedded in the strings are evaluated against (typically a scope object).

- `locals` – `{object=}` – local variables context object, useful for overriding values in `context`.

  The returned function also has the following properties:

  - `literal` – `{boolean}` – whether the expression's top-level node is a JavaScript literal.
  - `constant` – `{boolean}` – whether the expression is made entirely of JavaScript constant literals.
  - `assign` – `{?function(context, value)}` – if the expression is assignable, this will be set to a function to change its value on the given context.