Max
Max

Reputation: 43

"Can't read the url" error for angular2 dynamic components with templateUrl

Tried to modify soultion from here. It works fine, but if you change template to templateUrl in component, that should load dynamically, you get an error: "No ResourceLoader implementation has been provided. Can't read the url ...".

@Component({
    selector: 'string-editor',
    templateUrl: 'app/parts/string.html', //using template URL instead of inline template here
})
export class StringEditor { ... }

Live example on plunker. Any ideas how to fix this?

Upvotes: 4

Views: 2581

Answers (1)

cy3er
cy3er

Reputation: 1699

Don't use COMPILER_PROVIDERS, because it overrides the ResourceLoader.

For dynamic loading use the Compiler from core package (which is actually the same as RuntimeCompiler):

@Inject(Compiler) protected compiler: Compiler

and add the ApplicationModule as import in your module:

imports: [ 
    ApplicationModule,
    BrowserModule,
    DynamicModule.forRoot() // singletons
],

Plunker

Upvotes: 3

Related Questions