diff options
Diffstat (limited to 'src/ng')
| -rw-r--r-- | src/ng/directive/ngView.js | 4 | ||||
| -rw-r--r-- | src/ng/route.js | 27 |
2 files changed, 19 insertions, 12 deletions
diff --git a/src/ng/directive/ngView.js b/src/ng/directive/ngView.js index 1d2a5d29..28646822 100644 --- a/src/ng/directive/ngView.js +++ b/src/ng/directive/ngView.js @@ -49,11 +49,11 @@ <file name="script.js"> angular.module('ngView', [], function($routeProvider, $locationProvider) { $routeProvider.when('/Book/:bookId', { - template: 'book.html', + templateUrl: 'book.html', controller: BookCntl }); $routeProvider.when('/Book/:bookId/ch/:chapterId', { - template: 'chapter.html', + templateUrl: 'chapter.html', controller: ChapterCntl }); diff --git a/src/ng/route.js b/src/ng/route.js index ab198188..032e3716 100644 --- a/src/ng/route.js +++ b/src/ng/route.js @@ -29,9 +29,12 @@ function $RouteProvider(){ * * - `controller` – `{function()=}` – Controller fn that should be associated with newly * created scope. - * - `template` – `{string=}` – path to an html template that should be used by + * - `template` – `{string=}` – html template as a string that should be used by * {@link angular.module.ng.$compileProvider.directive.ngView ngView} or * {@link angular.module.ng.$compileProvider.directive.ngInclude ngInclude} directives. + * this property takes precedence over `templateUrl`. + * - `templateUrl` – `{string=}` – path to an html template that should be used by + * {@link angular.module.ng.$compileProvider.directive.ngView ngView}. * - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should * be injected into the controller. If any of these dependencies are promises, they will be * resolved and converted to a value before the controller is instantiated and the @@ -49,7 +52,7 @@ function $RouteProvider(){ * If `redirectTo` is a function, it will be called with the following parameters: * * - `{Object.<string>}` - route parameters extracted from the current - * `$location.path()` by applying the current route template. + * `$location.path()` by applying the current route templateUrl. * - `{string}` - current `$location.path()` * - `{Object}` - current `$location.search()` * @@ -152,7 +155,7 @@ function $RouteProvider(){ <hr /> <pre>$location.path() = {{$location.path()}}</pre> - <pre>$route.current.template = {{$route.current.template}}</pre> + <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre> <pre>$route.current.params = {{$route.current.params}}</pre> <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre> <pre>$routeParams = {{$routeParams}}</pre> @@ -173,7 +176,7 @@ function $RouteProvider(){ <file name="script.js"> angular.module('ngView', [], function($routeProvider, $locationProvider) { $routeProvider.when('/Book/:bookId', { - template: 'book.html', + templateUrl: 'book.html', controller: BookCntl, resolve: { // I will cause a 1 second delay @@ -185,7 +188,7 @@ function $RouteProvider(){ } }); $routeProvider.when('/Book/:bookId/ch/:chapterId', { - template: 'chapter.html', + templateUrl: 'chapter.html', controller: ChapterCntl }); @@ -365,17 +368,21 @@ function $RouteProvider(){ then(function() { if (next) { var keys = [], - values = []; + values = [], + template; forEach(next.resolve || {}, function(value, key) { keys.push(key); values.push(isFunction(value) ? $injector.invoke(value) : $injector.get(value)); }); - if (next.template) { + if (isDefined(template = next.template)) { + } else if (isDefined(template = next.templateUrl)) { + template = $http.get(template, {cache: $templateCache}). + then(function(response) { return response.data; }); + } + if (isDefined(template)) { keys.push('$template'); - values.push($http. - get(next.template, {cache: $templateCache}). - then(function(response) { return response.data; })); + values.push(template); } return $q.all(values).then(function(values) { var locals = {}; |
