You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 12/13自定义SumPipe时遭遇override修饰符错误求助

问题解决:SumPipe重写transform方法需添加override修饰符

错误原因

从TypeScript 4.3版本开始,严格类型检查模式下,重写基类方法必须显式添加override关键字,明确标识该方法是对基类成员的重写,避免意外覆盖基类方法的情况。你的SumPipe继承了CurrencyPipe并重新实现了transform方法,因此必须添加该修饰符。

修复后的代码

import { CurrencyPipe } from '@angular/common';
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'sumPipe',
})
export class SumPipe extends CurrencyPipe implements PipeTransform {
  // 添加override修饰符
  override transform(value: any, currency: string): any { // 修正参数拼写错误:currancy -> currency
    if (value == '-') return '-';
    let symbol;
    switch (currency) {
      case 'MYR':
        symbol = 'RM';
        break;
      case 'GBP':
        symbol = '£';
        break;
      case 'SGD':
        symbol = 'SGD';
        break;
      case 'CAD':
        symbol = 'CAD';
        break;
      case 'IDR':
        symbol = 'Rp';
        break;
      case 'EUR':
        symbol = '€';
        break;
      
      default:
        symbol = currency;
        break;
    }
    if (value) {
      value = super.transform(value);
      value = value.replace('$', '');

      if (value < 0) {
        value = '-' + symbol + value * -1;
      } else {
        value = symbol + value;
      }

      return value;
    } else {
      return symbol + ' 0';
    }
  }
}

额外提示

代码中参数currancy存在拼写错误,正确应为currency,建议修正以避免后续潜在问题。

内容的提问来源于stack exchange,提问作者user20574839

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:45:44