我正在移植到角13和角形6应用程序和我有困难的管道。这个应用程序不会编译。
我在一个组件上有一个自定义管道,编译器说在'TransactionsComponent‘类型上不存在属性'shortDate’。
代码如下(并工作在旧版本的角)
角管:
import { PipeTransform, Pipe } from '@angular/core';
import { DatePipe } from '@angular/common';
@Pipe({
name: 'shortDate'
})
export class DateFormatPipe extends DatePipe implements PipeTransform {
override transform(value: any, args?: any): any {
///MMM/dd/yyyy
return super.transform(value, "MM/dd/yyyy");
}
}
html
<div class="dt">{{transaction.transactionDate | date: shortDate}}</div>
共享模块
@NgModule({
declarations: [
DateFormatPipe
],
imports: [
AppRoutingModule,
BrowserModule,
FormsModule,
HttpClientModule,
HttpInterceptorModule,
ReactiveFormsModule,
],
exports: [
AppRoutingModule,
BrowserModule,
FormsModule,
HttpClientModule,
HttpInterceptorModule,
ReactiveFormsModule ,
],
})
export class SharedModule {
static forRoot(): ModuleWithProviders<SharedModule> {
return {
ngModule: SharedModule,
providers:
[
DateFormatPipe,
]
};
}
}
消费模块
@NgModule({
declarations: [
],
imports: [
SharedModule
],
providers: [
],
})
export class TransactionModule{ }
in app.module
imports: [
SharedModule.forRoot(),
TransactionModule
] ,
请注意:我也尝试过把管道放在共享模块的出口部分。这也不起作用。我肯定我只是错过了一些愚蠢的东西。有人有什么想法吗?
发布于 2022-06-21 12:53:30
尝尝这个
<div class="dt">{{transaction.transactionDate | shortDate}}</div>
尝试将standalone: true
标志添加到管道装饰器中
@Pipe({
name: 'shortDate',
standalone: true
})
https://stackoverflow.com/questions/72701087
复制相似问题