"Can't read the url" 使用 templateUrl 的 angular2 动态组件出错
"Can't read the url" error for angular2 dynamic components with templateUrl
试图修改灵魂。
它工作正常,但是如果你在组件中将模板更改为 templateUrl,那应该是动态加载的,你会得到一个错误:"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 { ... }
plunker 上的实例。有什么解决办法吗?
不要使用 COMPILER_PROVIDERS
,因为它会覆盖 ResourceLoader
。
对于动态加载,使用核心包中的 Compiler
(实际上与 RuntimeCompiler
相同):
@Inject(Compiler) protected compiler: Compiler
并在您的模块中添加 ApplicationModule
作为导入:
imports: [
ApplicationModule,
BrowserModule,
DynamicModule.forRoot() // singletons
],
试图修改灵魂
@Component({
selector: 'string-editor',
templateUrl: 'app/parts/string.html', //using template URL instead of inline template here
})
export class StringEditor { ... }
plunker 上的实例。有什么解决办法吗?
不要使用 COMPILER_PROVIDERS
,因为它会覆盖 ResourceLoader
。
对于动态加载,使用核心包中的 Compiler
(实际上与 RuntimeCompiler
相同):
@Inject(Compiler) protected compiler: Compiler
并在您的模块中添加 ApplicationModule
作为导入:
imports: [
ApplicationModule,
BrowserModule,
DynamicModule.forRoot() // singletons
],