2017-04-11 97 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