2017-04-11 93 views
1

您好我想根据选用的语言来更改日期格式,我用NG2,翻译,这是我工作的代码,但它是静态的:如何更改日期格式angular2

<span> {{product[col.field] | date : 'dd-MM-yyyy' >}} </span> 

我想有一个格式日期在当前的语言,这样的事情:

<span> {{product[col.field] | date : 'DATE.PIPE' | translate >}} </span> 

在en.json我"DATE": { "PIPE": "MM-dd-yyyy"和it.json在那里我有"DATE": { "PIPE": "dd-MM-yyyy" 这可能吗? 或者有没有办法以编程方式更改格式日期?

回答

2

你只需把翻译成部分括号内:

{{ product[col.field] | date : ('DATE.PIPE' | translate) }} 

如果您不知道,则date管道将采用'DATE.PIPE'字符串作为其日期格式。

+0

它似乎不起作用'无法读取Object.eval [作为updateRenderer](HomeComponent.html:30)''undefined属性'PIPE'和其他错误 – Alessandro

+0

您是否已将'DATE.PIPE'放入撇号中 - 作为串?我在现有的应用程序中尝试过,它运行良好。 –

+0

阅读我的其他评论。您当前的问题与日期管道无关。当您尝试访问它时,该对象不会被初始化。在获取其他信息之前,您需要使用ngOnInit方法获取数据或获取日期格式。 –

2

刚从日期管取下单引号又名

<span> {{product[col.field] | date : DATE.PIPE | translate >}} </span> 

它不起作用的原因是因为单引号使变量n ame是一个字符串,它试图将其作为DATE.PIPE格式进行管理,但具有这种名称的格式不存在。希望它是有道理的。

下面是一个例子代码

app.component.ts

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    dateFormat = { 
    date: { 
     pipe: 'dd-MM-yyyy' 
    } 
}; 
    today = Date.now(); 
} 

app.component.html

<span> {{today | date: dateFormat.date.pipe}} </span> 
+0

它似乎不起作用无法在Object.eval [as updateRenderer](HomeComponent.html:30)处读取未定义的 属性'PIPE'' – Alessandro

+0

'这只是意味着未定义对象,而您正在尝试访问。显示代码在何处/如何获取DATE.PIPE。 –

+0

'{ “HOME”:{ “TITLE”: “你好角2 NG2-翻译!”, “LOGIN”: “登录”, “USERNAME”: “用户名”, “USERNAMEREQ”:“用户名需要 “ ”PASSWORDREQ“: ”需要密码“, ”选择“: ”更改语言“, ”按钮“: ”登录“ }, ”DATE“:{ ”管“:” MM-DD- yyyy“ } }' – Alessandro