Wednesday, November 4, 2015

AngularJS - Expressions

Angular Expressions

Angular expressions are JavaScript-like code snippets that are usually placed in bindings such as {{ expression }}.
For example, these are valid expressions in Angular:
  • 1+2
  • a+b
  • user.name
  • items[index]

Angular Expressions vs. JavaScript Expressions

Angular expressions are like JavaScript expressions with the following differences:
  • Context: JavaScript expressions are evaluated against the global window. In Angular, expressions are evaluated against a scope object.
  • Forgiving: In JavaScript, trying to evaluate undefined properties generates ReferenceError or TypeError. In Angular, expression evaluation is forgiving to undefined and null.
  • No Control Flow Statements: You cannot use the following in an Angular expression: conditionals, loops, or exceptions.
  • No Function Declarations: You cannot declare functions in an Angular expression, even inside ng-init directive.
  • No RegExp Creation With Literal Notation: You cannot create regular expressions in an Angular expression.
  • No Comma And Void Operators: You cannot use , or void in an Angular expression.
  • Filters: You can use filters within expressions to format data before displaying it.
If you want to run more complex JavaScript code, you should make it a controller method and call the method from your view. If you want to eval() an Angular expression yourself, use the $eval() method.

No comments:

Post a Comment