如何解决角度为10的动态管道不能注入“数字”管道
我正在创建动态管道以格式化表格组件列 dynamic.pipe.ts
import {
Injector,Pipe,PipeTransform
} from '@angular/core';
import { MomentPipe } from './moment.pipe';
@Pipe({
name: 'dynamicPipe',})
export class DynamicPipe implements PipeTransform {
public constructor(private injector: Injector,private momentPipe: MomentPipe) {
}
transform(value: any,pipeToken: any,pipeArgs: any[]): any {
if (!pipeToken) {
return value;
}
else {
const pipe = this.injector.get<any>(pipeToken);
return Array.isArray(pipeArgs) ? pipe.transform(value,...pipeArgs) : pipe.transform(value,pipeArgs);
}
}
}
在我的共享模块中,声明了管道并将其与使用该管道的组件一起导出 shared.module.ts
import { CommonModule } from '@angular/common';
///
import { DynamicPipe } from './pipes/dynamic.pipe';
import { SharedTableComponent } from './components/shared-table/shared-table.component';
///
declarations: [
///
DynamicPipe,SharedTableComponent,///
],exports: [
///
DynamicPipe,providers: [
///
DynamicPipe,///
]
///
我的共享模块已导入到App模块
共享模块导入到我使用共享表组件的位置 动态管道的用法如下
column = {
data: 1.2345678,colPipe: 'number',colPipeArgs: '1.1-1',};
{{ column.data | dynamicPipe: column.colPipe:column.colPipeArgs }}
我遇到了错误:
ERROR NullInjectorError: R3InjectorError(JobModule)[number -> number -> number -> number -> number -> number]:
NullInjectorError: No provider for number!
Angular 14
transform dynamic.pipe.ts:21
我想念什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。