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