No description
Find a file
Vojta Jina 909cabd36d fix($compile): make isolate scope truly isolate
Fixes issue with isolate scope leaking all over the place into other directives on the same element.

Isolate scope is now available only to the isolate directive that requested it and its template.

A non-isolate directive should not get the isolate scope of an isolate directive on the same element,
instead they will receive the original scope (which is the parent scope of the newly created isolate scope).

Paired with Tobias.

BREAKING CHANGE: Directives without isolate scope do not get the isolate scope from an isolate directive on the same element. If your code depends on this behavior (non-isolate directive needs to access state from within the isolate scope), change the isolate directive to use scope locals to pass these explicitly.

// before
<input ng-model="$parent.value" ng-isolate>

.directive('ngIsolate', function() {
  return {
    scope: {},
    template: '{{value}}'
  };
});

// after
<input ng-model="value" ng-isolate>

.directive('ngIsolate', function() {
  return {
    scope: {value: '=ngModel'},
    template: '{{value}}
  };
});

Closes #1924
Closes #2500
2013-11-07 22:03:19 -08:00
closure feat(Angular.js): add externs file for Closure Compiler 2013-10-30 15:15:03 -07:00
css fix($animate): only apply the fallback property if any transition animations are detected 2013-11-06 02:01:19 -05:00
docs docs(guide/filter): Refactor filter guide docs 2013-11-07 14:14:57 -08:00
example docs(examples): set ng-app to "personalLog" (example/personalLog) 2013-04-11 14:53:40 -07:00
i18n style: make jshint happy 2013-10-22 15:32:41 -07:00
images docs(guide/overview): Refactor overview and mvc docs 2013-11-06 17:11:44 -08:00
lib chore(Grunt): use the latest Content-Security-Policy header in csp mode 2013-10-22 15:21:24 -07:00
logs creating logs/ and tmp/ dirs 2010-10-29 10:47:06 -07:00
src fix($compile): make isolate scope truly isolate 2013-11-07 22:03:19 -08:00
test fix($compile): make isolate scope truly isolate 2013-11-07 22:03:19 -08:00
.bowerrc chore(bower): add a .bowerrc file 2013-08-07 14:11:23 -07:00
.gitignore chore(gitignore): ignore *.swp files from vim 2013-10-10 09:16:11 +01:00
.travis.yml chore(travis): run bower install twice to make sure it does 2013-08-28 17:48:46 -07:00
angularFiles.js chore(grunt): add jshint tasks 2013-10-22 15:32:40 -07:00
bower.json fix($compile): work around issue in jQuery 1.10.2 2013-09-25 17:25:00 -07:00
changelog.js chore(validate-commit-msg.js): increase the max line limit for commit messages from 70 to 100 2013-10-24 15:09:30 -07:00
CHANGELOG.md docs(changelog): release notes for 1.2.0-rc.3 2013-10-15 06:12:43 -07:00
changelog.spec.js chore(changelog.js): improve the changelog script 2013-01-22 22:49:00 -08:00
changelog.tmp.md chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
check-size.sh chore(Grunt): switch from Rake to Grunt 2013-03-05 23:00:33 -08:00
compare-master-to-stable.js chore(release): add script for comparing master and stable branches 2013-09-05 01:15:36 +02:00
CONTRIBUTING.md docs(guide/contribute): remove redundancy and link to CONTRIBUTING.md 2013-11-04 10:35:21 -08:00
gdocs.js chore(formating): clean code to be function() { 2011-10-11 11:01:46 -07:00
gen_docs.sh chore(docs): get correct location for jasmine-node 2012-09-06 16:06:25 -07:00
Gruntfile.js chore(grunt): add test:docsgen to ci checks 2013-11-05 21:22:04 +00:00
init-repo.sh docs(tutorial): testacular renamed to karma 2013-04-15 12:28:31 +01:00
jenkins_build.sh chore(build): add jenkins_build.sh file 2013-08-30 23:20:30 +02:00
karma-docs.conf.js chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
karma-e2e.conf.js chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
karma-jqlite.conf.js chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
karma-jquery.conf.js chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
karma-modules.conf.js chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
karma-shared.conf.js chore(karma): longer reconnect timeout 2013-08-28 15:46:19 -07:00
LICENSE chore(license): update to google 2012-04-20 11:29:34 -07:00
package.json chore(grunt): add jshint tasks 2013-10-22 15:32:40 -07:00
README.md docs(README): add dashboard link 2013-09-09 12:26:22 +01:00
release-commit.sh chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
start-iteration.sh chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
travis_build.sh chore(travis): enable Firefox again 2013-10-08 10:14:03 -07:00
travis_print_logs.sh chore(travis): clean up logs 2013-08-23 16:49:10 -07:00
validate-commit-msg.js chore(validate-commit-msg.js): increase the max line limit for commit messages from 70 to 100 2013-10-24 15:09:30 -07:00
validate-commit-msg.spec.js chore(validate-commit-msg.js): increase the max line limit for commit messages from 70 to 100 2013-10-24 15:09:30 -07:00
watchr-docs.rb chore(watchr): watchr scripts should output logs to terminal 2011-10-31 11:34:25 -07:00
xx fix($compile): make isolate scope truly isolate 2013-11-07 22:03:19 -08:00

AngularJS Build Status

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTMLs syntax to express your applications components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. To help you structure your application better and make it easy to test, AngularJS teaches the browser how to do dependency injection and inversion of control. Oh yeah and it also helps with server-side communication, taming async callbacks with promises and deferreds; and make client-side navigation and deeplinking with hashbang urls or HTML5 pushState a piece of cake. The best of all: it makes development fun!

Building AngularJS

Once you have your environment setup just run:

grunt package

Running Tests

To execute all unit tests, use:

grunt test:unit

To execute end-to-end (e2e) tests, use:

grunt package
grunt test:e2e

To learn more about the grunt tasks, run grunt --help and also read our contribution guidelines.