angular 0.9.5+2

  • Readme
  • Changelog
  • Installing
  • --

AngularDart Build Status

A port of Angular to Dart.

Installing #

Follow the instructions on angular.dart's page on pub.

API Documentation #

API documentation.

Learning more #

Study the Angular.dart Tutorial to learn more about Angular in Dart.

Joining the discussion #

Discuss angular.dart on the mailing list, ask questions on StackOverflow, follow +Angular on Google+, and follow @AngularDart and @AngularJS on Twitter.

Filing bugs #

Please file bugs and feature requests using the Github Issues Tracker.

I want to help #

Excellent read up on contributing.

v0.9.5 badger-magic (2014-01-27) #


We reserve the right to change the APIs in v0.9.x versions.

Bug Fixes #

  • Directive: remove publishAs from NgDirective to avoid confusion. (c48433e0)
  • directive: call attach method ofter all bindings execute (11b38bae)
  • directives: cssUrl in NgComponent (952496b0)
  • docs: correct typo (4494ce70)
  • expression_extractor: implemented support for wildcard attr selector (1e403447, #447)
  • generator: Avoid compile-time filter map querying when generating static parser. (522ba49c)
  • ng-model: Allow ng-required to work on non-strings. (a7c3a8d8)
  • parser: Workaround dart2js bugs in latest version of Dart SDK 1.2. (dddc3c83)
  • scope: honor $skipAutoDigest on non-root scopes (7265ef7a)
  • todo: Fixing some dart2js compilation issues for todo demo (b8e97d9e, #453)

Features #

  • core: provide support to define the same selector on multiple directives (dd356539)
  • directive: Add ng-attr-* interpolation support (aeb5538e)
  • directives: Add support for contenteditable with ng-model (715d3d1e)
  • expression_extractor: Add source path to source crawler (6597f73f)
  • forms:
    • provide support for parent form communication (6778b62e)
    • add support for validation handling for multiple error types (d3ed15cb)
    • provide support for controls and state flags (d1d86380)
  • helloworld: MirrorsUsed (73b0dca8)
  • js size: Add a default @MirrorsUsed to Angular. (1fd1bd07, #409)
  • mock: support for JSON in HttpBackend (9d09a162, #236)
  • ngModel: provide support for custom validation handlers (e01d5fd7)
  • parser: Allow operator access to non-map, non-list objects (51e167b8, #416)

v0.9.4 supersonic-turtle (2014-1-13) #

Bug Fixes #

  • di: removed type parameters to accommodate di restriction (7646df6d)
  • doc: NgShadowRoot => NgShadowRootAware (303c12b8)
  • docs: typo (06ab9e75)
  • expression extractor: Fix and test (ff737732)
  • expression_extractor: fixed package roots (6b2c9921)
  • http_backend: don't swallow http request errors. (8cc26533)
  • input: corrected NPE when input goes away (e97b9d07, #392)
  • introspection: Search our shadowRoot as well (6549c982)
  • ng_model: Disable a test that did not pass in content_shell (a3da7310)
  • parser: pass analyzer v1.1.0 (e61e0375)
  • scope:
    • fix $properties not visible using [] (4345857b)
    • Also check for UnimplementedError when reflecting on source (1d870ba4)
  • sdk: Add support for Dart SDK 1.1 (9d6914ec)
  • selector: the required attribute should properly work with ng-required (472d764e)

Features #

  • NodeAttrs:
    • implement the keys getter and containsKey() (1a7d4a42)
    • Implement forEach to iterate over attributes (5c415135)
  • compiler:
    • A better error message for invalid selectors (99eab544)
    • Throw a useful error message on a missing NgComponenet selector (42692a14)
  • events: add missing ng-events (97bd4bc2, #386)
  • ng-pluralize: Implement the ng-pluralize directive (51d951e3)
  • scripts: automatic way of generating changelog.MD (11af25c8)
  • template_cache_generator: simple template cache generator (32e073b7)
  • travis: add travis support (fa3727f8)

Performance Improvements #

  • NodeAttrs: Remove one unnecessary call to snakecase (ad2a7d54)
  • bracket: Optimize calling methods on objects. (12f5f672)
  • parser:
  • scope:
    • Compute perf counters as part of the fast dirty check if possible. (1932110c)
    • Make the digest loop easier to optimize by splitting it into smaller and simpler methods. (46123637)

v0.9.3 reverse-telekinesis (2013-12-16) #


We reserve the right to change the APIs in v.0.9.x versions.

Bug Fixes #

  • expression_extractor:
    • support for inline templates (898ec6d8, #186)
    • do not fail when source file doesn't exist (887e1bff)
  • ng-repeat: ng-repeat support for Iterable (080bb0a6, #292)
  • ng_model: do not save/restore selection unnecessarily (3c805483, #264)
  • scope:
    • log firing expressions in the watchLog (cfa97d68, #258)
    • remove GC pressure created by watchCollection getter (a435a8f2)
  • todo demo: Return the correct CSS class for TODO items in the demo. (217a57ec)

Features #

  • NgComponent: Support multiple css files (6c6151cf)
  • cookies: Basic Cookies service/wrapper over BrowserCookies (6efde83e)
  • mocks: provide support for child scope parameters in compile (2d2c5219)
  • ng-model: implemented support for input[type=password] (058c8ee4)

Performance Improvements #

  • bracket: Optimize calling methods on objects. (525eeadb)
  • digest: Use linked list for watchers (7b6b0e5d)

v0.9.2 limited-omnipotence (2013-12-02) #


We reserve the right to change the APIs in v.0.9.x versions.

Bug Fixes #

  • expression_extractor: support extracting expresions from attr mapping annotations (76fbac8c, #291)
  • filters: Fix filters in the code-gen parser (8b2c3b62)
  • ng-class: exportExpressionAttrs for ng-class, ng-class-odd, ng-class-even (cecf3b6d)
  • parser:
    • Add ternary support to the static parser (e37bd8f7)
    • Add caching to the dynamic parser. (9cdd77a5)
  • static parser: Allow newlines in expressions. (d21817ff, #297)
  • syntax: warnings in directive code (1f3e3f72)

Features #

  • parse:
  • di: introduced @NgInjectableService to make di codegen easier (54328d78)
  • interpolate: use $watchSet to remove memory pressure (283ea257)
  • ngForm: introduce basic support for the form directive (26ca46d8)
  • parser_generator: allow specifying output file (0615456e)
  • probe:
    • add ngQuery which can cross shadow root boundaries (20897917)
    • Access injector, scope, directives from REPL (70c3e8d3, #305)
  • repeater:
  • scope:

v0.9.1 elemental-mimicry (2013-11-18) #


We reserve the right to change the APIs in v.0.9.x versions.

Bug Fixes #

  • don't create watchers for <=> => and =>! attributes if attribute is not specified on the element (6ea6af8b, #265)
  • ng-view does not clear template when route is deactivated (6acb2c32, #245)

Features #

v0.9.0 static-animation (2013-11-04) #

Initial beta release of AngularDart available for public testing.


We reserve the right to change the APIs in v.0.9.x versions.

Features #

  • Notable Directives: input, ng-bind, ng-class, ng-events, ng-if, ng-include, ng-model, ng-show\hide, ng-switch, ng-template.

  • Notable Services: Compiler, Cookies, Http, ExceptionHandler, Scope.

  • Notable Filters: currency, date, filter, json, limitTo, number, orderBy

Missing Features #

  • Forms / Validation: has not made it into AngularDart yet.

Semantic Version Conventions #

  • Stable: All even numbered minor versions are considered API stable: i.e.: v1.0.x, v1.2.x, and so on.
  • Development: All odd numbered minor versions are considered API unstable: i.e.: v0.9.x, v1.1.x, and so on.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  angular: ^0.9.5+2

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:angular/angular.dart';
Awaiting analysis to complete.