加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 无法实例化DatePipe

发布时间:2020-12-17 07:20:58 所属栏目:安全 来源:网络整理
导读:我试图在我的Angular2应用程序中实例化一个DatePipe对象,以便在我正在开发的组件中使用transform(…)函数. // ...import { DatePipe } from '@angular/common';@Component({...})export class PanelComponent implements OnInit { // ... datePipe: DatePipe
我试图在我的Angular2应用程序中实例化一个DatePipe对象,以便在我正在开发的组件中使用transform(…)函数.
// ...
import { DatePipe } from '@angular/common';

@Component({...})
export class PanelComponent implements OnInit {
    // ...
    datePipe: DatePipe = new DatePipe(); // Error thrown here
    // ...
}

此代码段在RC5中运行良好.现在我正在尝试升级到Angular2最终版本并在运行服务或ng构建时出现此错误,

~/tmp/broccoli_type_script_compiler-input_base_path-XitPWaey.tmp/0/src/app/panel/panel.component.ts (33,24): 
Supplied parameters do not match any signature of call target.

我该如何解决这个问题?还有另一种实例化管道的方法吗?或者Angular是否停止支持在组件内部实例化Pipes?

如果您查看源代码,那么您将看到DatePipe构造函数请求所需的参数:
constructor(@Inject(LOCALE_ID) private _locale: string) {}

DataPipe没有默认语言环境

https://github.com/angular/angular/blob/2.0.0/modules/%40angular/common/src/pipes/date_pipe.ts#L97

这就是打字稿给出错误的原因.
这样您就必须启动变量,如下所示:

datePipeEn: DatePipe = new DatePipe('en-US')
datePipeFr: DatePipe = new DatePipe('fr-FR')
constructor() {
  console.log(this.datePipeEn.transform(new Date(),'dd MMMM')); // 21 September
  console.log(this.datePipeFr.transform(new Date(),'dd MMMM')); // 21 septembre
}

希望它能帮到你!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读