<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/test/service/routeSpec.js, branch v1.0.0rc11</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>chore(module): move files around in preparation for more modules</title>
<updated>2012-03-28T18:16:35+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2012-03-23T21:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=2430f52bb97fa9d682e5f028c977c5bf94c5ec38'/>
<id>2430f52bb97fa9d682e5f028c977c5bf94c5ec38</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat($route): when matching consider trailing slash as optional</title>
<updated>2012-03-20T18:07:37+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2012-03-20T07:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=a4fe51da3ba0dc297ecd389e230d6664f250c9a6'/>
<id>a4fe51da3ba0dc297ecd389e230d6664f250c9a6</id>
<content type='text'>
This makes for a much more flexible route matching:

- route /foo matches /foo and redirects /foo/ to /foo
- route /bar/ matches /bar/ and redirects /bar to /bar/

Closes #784
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes for a much more flexible route matching:

- route /foo matches /foo and redirects /foo/ to /foo
- route /bar/ matches /bar/ and redirects /bar to /bar/

Closes #784
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(ng:view) Make $route scope agnostic, add $contentLoaded event</title>
<updated>2012-02-29T01:46:58+00:00</updated>
<author>
<name>Vojta Jina</name>
</author>
<published>2012-02-19T20:31:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=9486590e1be7282bb0e87586a35ca0bee6c64ee0'/>
<id>9486590e1be7282bb0e87586a35ca0bee6c64ee0</id>
<content type='text'>
Problems:

- controller was instantiated immediately on $afterRouteChange (even if no content), that's
different compare to ng:controller, which instantiates controllers after compiling
- route listened on current scope ($afterRouteChange), so if you were listening on $rootScope
($afterRouteChange), you get called first and current.scope === undefined, which is flaky
- route handles scope destroying, but scope is created by ng:view
- route fires after/before route change even if there is no route (when no otherwise specified)

Solution:

- route has no idea about scope, whole scope business moved to ng:view (creating/destroying)
- scope is created (and controller instantiated) AFTER compiling the content
- that means on $afterRouteChange - there is no scope yet (current.scope === undefined)
- added $contentLoaded event fired by ng:view, after linking the content
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problems:

- controller was instantiated immediately on $afterRouteChange (even if no content), that's
different compare to ng:controller, which instantiates controllers after compiling
- route listened on current scope ($afterRouteChange), so if you were listening on $rootScope
($afterRouteChange), you get called first and current.scope === undefined, which is flaky
- route handles scope destroying, but scope is created by ng:view
- route fires after/before route change even if there is no route (when no otherwise specified)

Solution:

- route has no idea about scope, whole scope business moved to ng:view (creating/destroying)
- scope is created (and controller instantiated) AFTER compiling the content
- that means on $afterRouteChange - there is no scope yet (current.scope === undefined)
- added $contentLoaded event fired by ng:view, after linking the content
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor($route): remove .parent(); ng:view scope creation</title>
<updated>2012-02-29T01:46:58+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2012-02-16T05:49:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e31d1c287d972d633bdaf9c385d3012192f64918'/>
<id>e31d1c287d972d633bdaf9c385d3012192f64918</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor($route): move when/otherwise to provider</title>
<updated>2012-02-29T01:46:58+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2012-02-15T23:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=f16bd2f747ed94547eabdc4c337775a22a365255'/>
<id>f16bd2f747ed94547eabdc4c337775a22a365255</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(scope.$watch): rearrange arguments passed into watcher (newValue, oldValue, scope)</title>
<updated>2012-01-23T19:11:27+00:00</updated>
<author>
<name>Vojta Jina</name>
</author>
<published>2011-11-30T20:23:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=0196411dbe179afe24f4faa6d6503ff3f69472da'/>
<id>0196411dbe179afe24f4faa6d6503ff3f69472da</id>
<content type='text'>
As scopes are injected into controllers now, you have the reference anyway, so having scope as first argument makes no sense…

Breaks $watcher gets arguments in different order (newValue, oldValue, scope)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As scopes are injected into controllers now, you have the reference anyway, so having scope as first argument makes no sense…

Breaks $watcher gets arguments in different order (newValue, oldValue, scope)</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(scope): separate controller from scope</title>
<updated>2012-01-23T19:05:36+00:00</updated>
<author>
<name>Vojta Jina</name>
</author>
<published>2011-11-30T05:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=992c790f0786fa45c1cc3710f29bf49c7c322ba7'/>
<id>992c790f0786fa45c1cc3710f29bf49c7c322ba7</id>
<content type='text'>
Controller is standalone object, created using "new" operator, not messed up with scope anymore.
Instead, related scope is injected as $scope.

See design proposal: https://docs.google.com/document/pub?id=1SsgVj17ec6tnZEX3ugsvg0rVVR11wTso5Md-RdEmC0k

Closes #321
Closes #425

Breaks controller methods are not exported to scope automatically
Breaks Scope#$new() does not take controller as argument anymore</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Controller is standalone object, created using "new" operator, not messed up with scope anymore.
Instead, related scope is injected as $scope.

See design proposal: https://docs.google.com/document/pub?id=1SsgVj17ec6tnZEX3ugsvg0rVVR11wTso5Md-RdEmC0k

Closes #321
Closes #425

Breaks controller methods are not exported to scope automatically
Breaks Scope#$new() does not take controller as argument anymore</pre>
</div>
</content>
</entry>
<entry>
<title>fix(route): $destroy scope after update and reload</title>
<updated>2011-12-06T21:35:05+00:00</updated>
<author>
<name>Vojta Jina</name>
</author>
<published>2011-12-01T04:12:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b9001e914740ea0e3bba357a33ddaf13610c874f'/>
<id>b9001e914740ea0e3bba357a33ddaf13610c874f</id>
<content type='text'>
When we update route (changing only search param, no route reload) and then reload (change to different
route), it did not $destroy last scope.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we update route (changing only search param, no route reload) and then reload (change to different
route), it did not $destroy last scope.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor($service): removed almost all references to scope.$service</title>
<updated>2011-11-15T00:39:33+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2011-11-03T04:37:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=16597e8b52bdfe34b2239a5ab86a839fa8e980d6'/>
<id>16597e8b52bdfe34b2239a5ab86a839fa8e980d6</id>
<content type='text'>
- still need to remove from factory
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- still need to remove from factory
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(injector): turn scope into a service</title>
<updated>2011-11-15T00:39:31+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2011-10-17T23:56:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=48697a2b86dbb12ea8de64cc5fece7caf68b321e'/>
<id>48697a2b86dbb12ea8de64cc5fece7caf68b321e</id>
<content type='text'>
- turn scope into a $rootScope service.
- injector is now a starting point for creating angular application.
- added inject() method which wraps jasmine its/beforeEach/afterEach,
  and which allows configuration and injection of services.
- refactor tests to use inject() where possible

BREAK:
- removed angular.scope() method
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- turn scope into a $rootScope service.
- injector is now a starting point for creating angular application.
- added inject() method which wraps jasmine its/beforeEach/afterEach,
  and which allows configuration and injection of services.
- refactor tests to use inject() where possible

BREAK:
- removed angular.scope() method
</pre>
</div>
</content>
</entry>
</feed>
