angular2 in-memory-web-api 仅适用于应用程序的一部分
angular2 in-memory-web-api only for a part of an application
我想知道是否可以只为应用程序的一部分配置 angular2 in-memory-web-api。我想为完成的组件访问外部端点,并为处于开发阶段的组件使用 in-memory-web-api。
我尝试过以下两种方式:
1 - 在 main 中加载数据并更改我想要到达内存端点的组件中的 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
]
})
有什么方法可以实现这个目标吗?
感谢您的帮助!
正如filipesilva here指出的那样,第二种方法应该可行。
”
哦,当然,你绝对可以做到这一点。每个组件都有自己的注入器,它为自身和该子树中的所有组件解析提供者。
你的第二个例子应该有效:
@Component({
providers: [
{ provide: XHRBackend, useClass: InMemoryBackendService }, // in-mem server
{ provide: SEED_DATA, useClass: InMemoryDataService } // in-mem server data
]
})
至于该组件及其子树,XHRBackend 是 InMemoryBackendService 而不是 HTTP_PROVIDERS 提供的服务。
请记住,它也适用于该子树中的任何其他组件。也许这就是问题所在?
“
谢谢菲利普!
我想知道是否可以只为应用程序的一部分配置 angular2 in-memory-web-api。我想为完成的组件访问外部端点,并为处于开发阶段的组件使用 in-memory-web-api。
我尝试过以下两种方式:
1 - 在 main 中加载数据并更改我想要到达内存端点的组件中的 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
]
})
有什么方法可以实现这个目标吗?
感谢您的帮助!
正如filipesilva here指出的那样,第二种方法应该可行。
” 哦,当然,你绝对可以做到这一点。每个组件都有自己的注入器,它为自身和该子树中的所有组件解析提供者。
你的第二个例子应该有效:
@Component({
providers: [
{ provide: XHRBackend, useClass: InMemoryBackendService }, // in-mem server
{ provide: SEED_DATA, useClass: InMemoryDataService } // in-mem server data
]
})
至于该组件及其子树,XHRBackend 是 InMemoryBackendService 而不是 HTTP_PROVIDERS 提供的服务。
请记住,它也适用于该子树中的任何其他组件。也许这就是问题所在? “
谢谢菲利普!