我们正在尝试扩展ProductListComponent,因此我们创建了:
export class CustomProductListComponent extends ProductListComponent {
constructor(
pageLayoutService: PageLayoutService,
productListComponentService: ProductListComponentService
) {
super(pageLayoutService, productListComponentService);
}
}
但是ProductListComponentService不可见,因此我们决定通过以下方法扩展ProductListComponentService:
@Injectable({providedIn: 'root'})
export class CustomProductListComponentService extends ɵe {
constructor(
protected productSearchService: ProductSearchService,
protected routing: RoutingService,
protected activatedRoute: ActivatedRoute,
protected currencyService: CurrencyService,
protected languageService: LanguageService,
protected router: Router
) {
super(productSearchService, routing, activatedRoute, currencyService, languageService, router);
}
}
但是现在在扩展部分,我们有了这个奇怪的字符串“ɵe”。扩展ProductListComponent的推荐方法是什么?为什么在此字符串“ɵe”?
答案 0 :(得分:1)
ProductListComponentService应该是公共的,因此是AFAIK的错误。如果可以的话,请为此创建一个问题,我会尝试将其升级。
现在,您可以使用通过专用符号(ɵe)进行的导入作为解决方法,但要考虑到它可能在下一个lib版本中更改(因此,在将lib更新到新版本时需要再次检查)。不幸的是,目前没有更好的选择。
要使其更易于阅读,可以将其导入如下:
import { ɵe as ProductListComponentService }
,因此至少在实际的extend
中,您将能够使用正确的符号。