| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The example about transclusion and scopes worked only because the order of `scope` and `element`
arguments is wrong, which means that the `name' property of the scope is not really being updated.
To really work, the directive has to define its own scope, either a new child scope or, as is more
common with transclusion, an isolated scope.
Closes #4774
|
|
Closes #4748
|
|
Closes #4734
|
|
Closes #4750
|
|
Broken - $scope.spicy = 'very';
Works - $scope.spice = 'very';
Closes #4752
|
|
Inserted a couple of line breaks to increase readability.
Closes #4756
|
|
I was reading the doc and had to read the code to be sure it was safe. Spelling it out seems easier.
Closes #4760
|
|
|
|
Due to animations, DOM might get destroyed much later than scope and so the element $destroy event
might get fired outside of $digest, which causes changes to the validation model go unobserved
until the next digest. By deregistering on scope event, the deregistration always happens
in $digest and the form validation model changes will be observed.
Closes #4226
Closes #4779
|
|
|
|
|
|
|
|
|
|
search() supports an array for paramValue, but this is not described in the docs.
|
|
|
|
BREAKING CHANGE:
This commit introduces the notion of "private" properties (properties
whose names begin and/or end with an underscore) on the scope chain.
These properties will not be available to Angular expressions (i.e. {{
}} interpolation in templates and strings passed to `$parse`) They are
freely available to JavaScript code (as before).
Motivation
----------
Angular expressions execute in a limited context. They do not have
direct access to the global scope, Window, Document or the Function
constructor. However, they have direct access to names/properties on
the scope chain. It has been a long standing best practice to keep
sensitive APIs outside of the scope chain (in a closure or your
controller.) That's easier said that done for two reasons: (1)
JavaScript does not have a notion of private properties so if you need
someone on the scope chain for JavaScript use, you also expose it to
Angular expressions, and (2) the new "controller as" syntax that's now
in increased usage exposes the entire controller on the scope chain
greatly increaing the exposed surface. Though Angular expressions are
written and controlled by the developer, they (1) typically deal with
user input and (2) don't get the kind of test coverage that JavaScript
code would. This commit provides a way, via a naming convention, to
allow publishing/restricting properties from controllers/scopes to
Angular expressions enabling one to only expose those properties that
are actually needed by the expressions.
|
|
|
|
|
|
When using ngIf with ngInclude on the same element, ngIf previously did not remove
elements added by ngInclude. Similarly, when using ngIfStart/End, ngIf will miss
elements added between the start/end markers added after ngIf is linked.
This commit changes the behavior of ngIf to add a comment node at the end of its
elements such that elements between the starting comment and this ending comment
are removed when ngIf's predicate does not hold.
|
|
This adds an (incomplete) externs file for use with the Closure Compiler. Users
can pass this as -extern to the compiler pass to get type checking and protect
their AngularJS use against property renaming in advanced compilation mode.
|
|
|
|
Closes #4705
|
|
Closes #4714
|
|
|
|
|
|
The name of the example module is `ngView`, which might cause needless confusion.
Changed name to `ngViewExample`, which should make it clearer.
Closes #4702
|
|
Closes #4700
|
|
Closes #4690
|
|
Closes #4636
|
|
Add the word "to" to improve grammar.
Closes #4698
|
|
Closes #4679
|
|
structural animation takes place
Closes #4435
|
|
If you have zoomed into the page in your browser then the screen coordinate system no longer
matches the page coordinate system. To ensure that dragged elements work correctly when zoomed
we should use pageX/pageY rather than screenX/screenY.
Closes #4687
|
|
Nested bullet points don't appear very nicely so resorted to nested
heading for the Learning Resources and in particular Books sections.
Closes #4677
|
|
|
|
|
|
is used
Closes #4669
|
|
|
|
Closes #4674
|
|
Annotation allows the angular-mocks to be minified, which sometimes happens with frameworks that
automatically process files before running tests.
Also, some developers have been using this library in code for their applications.
This is not recommended as the library is only designed to support testing and not production
applications. If you are likely to want to use the code here in production you would be best
forking and maintaining your own version of the code as we will not guarantee that we won't
break the annotation of the code in the future.
Closes #4448
|
|
directives
This is a fix for regression introduced last week by faf5b980.
Closes #4654
|
|
feature
|
|
Closes #4536
|
|
Closes #4670
|
|
Add note that `input()` fn matches ng-model instead of HTML name attribute.
About five users on forums were snagged by this assumption:
http://docs.angularjs.org/guide/dev_guide.e2e-testing#comment-898079915
Closes #4655
|
|
Close #4671
|
|
|