In this post we will be looking at fixing NullInjectorError: No provider for TagServiceProxy! error in Asp.Net Boilerplate using Angular 6. This happens when you create a new AppService in Appication project and when you try to use it in the component.
For example, I have created a TagAppService implementing the below interface like below
namespace LetsDisc.Tags
{
public interface ITagAppService : IApplicationService
{
Task<PagedResultDto<TagDto>> GetTags(PagedResultRequestDto input);
}
}
And when I tried to use it in the Angular Component as below it threw NullInjectorError: No provider for TagServiceProxy! error
@Component({
selector: 'app-tags',
templateUrl: './tags.component.html',
styleUrls: ['./tags.component.css']
})
export class TagsComponent extends PagedListingComponentBase<TagDto> {
tags: TagDto[] = [];
constructor(injector: Injector, private _tagService: TagServiceProxy) {
super(injector);
}
}
To fix this I have to add a provider for the TagServiceProxy in service-proxy.module.ts as shown below
import { NgModule } from '@angular/core';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { AbpHttpInterceptor } from '@abp/abpHttpInterceptor';
import * as ApiServiceProxies from './service-proxies';
@NgModule({
providers: [
...,
ApiServiceProxies.TagServiceProxy,
{ provide: HTTP_INTERCEPTORS, useClass: AbpHttpInterceptor, multi: true }
]
})
export class ServiceProxyModule { }
Thus the error is gone once refreshed the application
No comments:
Post a Comment