2016-07-28 48 views
1

我想知道是否可以仅为应用程序的一部分配置angular2 in-memory-web-api。我希望达到完成组件的外部端点,并在开发阶段为组件使用内存中web-api。angular2 in-memory-web-api仅适用于应用程序的一部分

我试图做到这一点在如下因素两个方面:

1 - 主加载数据中,我想达到的内存端点组件改变XHRBackend;

main.ts

bootstrap(AppComponent, [ 
    ... 
    { provide: SEED_DATA, useClass: InMemoryDataService } 
]); 

inDevelopmentStage.service.ts

@Component({ 
    providers: [ 
     { provide: XHRBackend, useClass: InMemoryBackendService } 
    ] 
}) 

2 - 加载的数据,并在该予想达到的内存中的端点的组件改变XHRBackend;

inDevelopmentStage.service.ts

@Component({ 
    providers: [ 
     { provide: XHRBackend, useClass: InMemoryBackendService }, // in-mem server 
     { provide: SEED_DATA, useClass: InMemoryDataService }  // in-mem server data 
    ] 
}) 

有什么办法,我可以实现这个目标?

感谢您的帮助!

回答

0

正如filipesilvahere指出的那样,第二种方法应该可行。

“ 哦,当然,你绝对可以做到这一点的每个组件都有它自己的喷油器,这是解决本身提供商和所有组件在该子树

你的第二个例子应该有工作:。

@Component({ 
    providers: [ 
     { provide: XHRBackend, useClass: InMemoryBackendService }, // in-mem server 
     { provide: SEED_DATA, useClass: InMemoryDataService }  // in-mem server data 
    ] 
}) 

至于该组件和它的子树,XHRBackend是InMemoryBackendService,而不是由HTTP_PROVIDERS。

提供的服务请记住,它也适用于任何其他成分在但是子树。也许这就是错误? “

谢谢菲利普!

相关问题