diff --git a/packages/core/src/metadata/resource_loading.ts b/packages/core/src/metadata/resource_loading.ts index 70c8a0235c..633e0ac871 100644 --- a/packages/core/src/metadata/resource_loading.ts +++ b/packages/core/src/metadata/resource_loading.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import { Component } from './directives'; +import {Component} from './directives'; /** @@ -42,7 +42,7 @@ import { Component } from './directives'; * contents of the resolved URL. Browser's `fetch()` method is a good default implementation. */ export function resolveComponentResources( - resourceResolver: (url: string) => (Promise }>)): Promise { + resourceResolver: (url: string) => (Promise}>)): Promise { // Store all promises which are fetching the resources. const urlFetches: Promise[] = []; @@ -62,7 +62,6 @@ export function resolveComponentResources( if (component.templateUrl) { cachedResourceResolve(component.templateUrl).then((template) => { component.template = template; - component.templateUrl = undefined; }); } const styleUrls = component.styleUrls; @@ -92,12 +91,14 @@ export function maybeQueueResolutionOfComponentResources(metadata: Component) { } export function componentNeedsResolution(component: Component): boolean { - return !!(component.templateUrl || component.styleUrls && component.styleUrls.length); + return !!( + (component.templateUrl && !component.template) || + component.styleUrls && component.styleUrls.length); } export function clearResolutionOfComponentResourcesQueue() { componentResourceResolutionQueue.clear(); } -function unwrapResponse(response: string | { text(): Promise }): string | Promise { +function unwrapResponse(response: string | {text(): Promise}): string|Promise { return typeof response == 'string' ? response : response.text(); } diff --git a/packages/core/test/metadata/resource_loading_spec.ts b/packages/core/test/metadata/resource_loading_spec.ts index 2c15e02a90..49d6ff5b6d 100644 --- a/packages/core/test/metadata/resource_loading_spec.ts +++ b/packages/core/test/metadata/resource_loading_spec.ts @@ -64,7 +64,6 @@ Did you run and wait for 'resolveComponentResources()'?`.trim()); compileComponent(MyComponent, metadata); await resolveComponentResources(testResolver); expect(MyComponent.ngComponentDef).toBeDefined(); - expect(metadata.templateUrl).toBe(undefined); expect(metadata.template).toBe('content'); expect(resourceFetchCount).toBe(1); }); @@ -127,7 +126,6 @@ Did you run and wait for 'resolveComponentResources()'?`.trim()); compileComponent(MyComponent, metadata); await resolveComponentResources(fetch); expect(MyComponent.ngComponentDef).toBeDefined(); - expect(metadata.templateUrl).toBe(undefined); expect(metadata.template).toBe('response for test://content'); }); });