使用templateUrl的angular2动态组件的“无法读取url”错误

时间:2016-09-23 11:13:56

标签: angular typescript angular2-compiler

试图修改灵魂from here。 它工作正常,但是如果你将模板更改为组件中的templateUrl,那应该动态加载,你会收到一个错误:“没有提供ResourceLoader实现。无法读取url ...”。

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

plunker上的实例。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

请勿使用COMPILER_PROVIDERS,因为它会覆盖ResourceLoader

对于动态加载,请使用核心包中的Compiler(实际上与RuntimeCompiler相同):

@Inject(Compiler) protected compiler: Compiler

并在模块中添加ApplicationModule作为导入:

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

Plunker